用move.js库实现百叶窗特效
(编辑:jimmy 日期: 2025/6/30 浏览:3 次 )
今天操作的是一个,百叶窗效果的一个页面特效,好,现在直接上最终效果吧。demo做的有点low,不过效果都在了
这是html和css代码:思路就是,每一个li里面div,放几个p,通过调节translatY,来控制。
<style> *{ padding: 0; margin: 0; list-style: none; } #bai{ width: 400px; height: auto; float: left; margin-left:20px auto; } li{ text-align: center; width: 100%; height: 50px; line-height: 50px; border-bottom: 1px dashed #000; position: relative; overflow: hidden; } div.box{ width: 100%; height: 50px; position: absolute; top: -50px; } p{ height: 50px; } </style> </head> <body> <ul id="bai"> <li> <div class="box a1"> <p>1111111111111111</p> <p>22222222222222222</p> </div> </li> <li> <div class="box a2"> <p>33333333333333333</p> <p>44444444444444444</p> </div> </li> <li> <div class="box a3"> <p>55555555555555555</p> <p>66666666666666666</p> </div> </li> <li> <div class="box a4"> <p>77777777777777777</p> <p>88888888888888888</p> </div> </li> </ul>
关键在这里:可以来这里下载
<script src="/UploadFiles/2021-04-02/move.min.js">
导入这个,这个插件怎么用呢?具体的我就不讲了,可以看这里 ,这篇文章讲的挺好的。关键就是,move()里面取代的对象,跟jquery $取DOM节点对象一样,下面简单的陈了一些方法
move('.square')
.to(500, 200)
.rotate(180)
.scale(.5)
.set('background-color', '#FF0551')
.set('border-color', 'black')
.duration('3s')
.skew(50, -10)
.then()
.set('opacity', 0)
.duration('0.3s')
.scale(0.1)
.pop()
.end();
接下来,放上接下来全部js代码,整体思路是,两个定时器,一个定时器来定时总的时间,多久后开始,第二次定时器,是每个小div,依次多久执行动画。
<script>
window.onload = function(){
var num=1; /*为了取到各个div*/
var timer=null;/*定义定时器*/
var tet = false;/*这里用来判断方向*/
ding();
function ding(){
setInterval(function(){
change();
},3000)
}
function change(){
timer=setInterval(function(){
if(num == 5){
clearInterval(timer);
num=1;
tet = !tet;
}
else if(tet == false){
move("#bai .a"+num+"").y(50).end();/*这里用到就是,move中的translateY方法,简称y()*/
num++;
}
else{
move("#bai .a"+num+"").y(0).end();
num++;
}
},100)
}
}
</script>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
上一篇:js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
下一篇:浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)