建站资讯

建站微信小程序_原生JS完成圣旨卷轴打开效果

作者:admin 发布时间:2021-01-12
原生JS实现圣旨卷轴展开效果       本文主要介绍了原生JS实现诏书卷轴展开效果的实例,具有很好的参考价值。下面跟着小编一起来看下吧

在其他网站看见类似效果,但代码有400多行且看不懂,我用60多行的代码给予实现。

实现原理:(1)利用绝对定位固定好起始位置;(2)利用遮罩将右轴右侧的部分遮住;(3)让右轴和遮罩同时同速度向右运动!

效果图:

代码如下:

 !DOCTYPE html 
 html lang="en" 
 head 
 meta charset="UTF-8" 
 title 诏书 /title 
 style type="text/css" 
 margin: 0;
 padding: 0;
 #animate {
 margin: 40px auto;
 width: 495px;
 height: 150px;
 position: relative;
 overflow: hidden;
 #back {
 width: 495px;
 height: 150px;
 position: absolute;
 left: 0;
 top: 10px;
 background: url(notes/pics/201703/04/191654mcfqzdfrxann5551.png) no-repeat;
 #left {
 position: absolute;
 left: 0;
 #right {
 position: absolute;
 left: 16px;
 #mark {
 position: absolute;
 left: 44px;
 /style 
 /head 
 body 
 div id="animate" 
 div id="back" img src="notes/pics/201703/04/191214ug6h47d81jyfy6vh.png"/ /div 
 div id="left" img src="notes/pics/201703/04/191236gldigxmxg2zlh9s7.png"/ /div 
 div id="right" img src="notes/pics/201703/04/191244uhavf49l1zw440cv.png"/ /div 
 div id="mark" img src="notes/pics/201703/04/191254kfbz2tjupc1jigbb.png"/ /div 
 /div 
 /body 
 script 
 var animate=document.getElementById("animate");
 var right = document.getElementById("right");
 var mark = document.getElementById("mark");
 var timer = setInterval(function () {
 var right1=getComputedStyle(right).left;
 var mark1=getComputedStyle(mark).left;
 if(parseFloat(right1) =447){
 right1=447+"px";
 clearInterval(timer);
 right.style.left=(parseFloat(right1)+10)+"px";
 mark.style.left=(parseFloat(mark1)+10)+"px";
 }, 100)
 /script 
 /html 

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持凡科!


收缩