这篇文章主要介绍了如何使用move.js库实现百叶窗特效,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
今天操作的是一个,百叶窗效果的一个页面特效,好,现在直接上最终效果吧。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="js库/move.min.js"></script>
导入这个,这个插件怎么用呢?具体的我就不讲了,可以看这里 ,这篇文章讲的挺好的。关键就是,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;
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();
num++;
}
else{
move("#bai .a"+num+"").y(0).end();
num++;
}
},100)
}
}
</script>
感谢你能够认真阅读完这篇文章,希望小编分享的“如何使用move.js库实现百叶窗特效”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!