jQuery中setInterval中的animate为什么只执行一次?
代码如下,图片可以用任意图
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<style type="text/css">
*{
margin:0;
padding:0;
}
html,body{
width: 100%;
height: 100%;
}
.box{
width: 200%;
height: 100%;
background: url(pic.jpg) repeat;
position: absolute;
left: 0;
}
</style>
</head>
<body>
<div class="box"></div>
<script type="text/javascript">
setInterval(function(){
$(".box").animate({
"left":"-100%"
},2000,function(){
this.left = 0;
})
},2000)
</script>
</body>
</html>
明明我是设置了定时器,可为什么animate动画只执行了一次呢?
我尝试了在里面console.log输出,里面确实的多次执行了。。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
js:this.style.left=0
jq:$(".box").css('left', 0);
不要把jq的语法和js 的弄混了
把
this.left=0
改成$(".box").css('left', 0);