Javascript 垂直移动ul元件
我需要你的帮助 我试图使用计数器和setinterval方法垂直移动UL元素,但不幸的是,我的代码似乎存在问题,因为有时当其值为2时,I计数器会自己重复它,或者当它达到极限时,它会返回到2 这是我的密码Javascript 垂直移动ul元件,javascript,jquery,setinterval,Javascript,Jquery,Setinterval,我需要你的帮助 我试图使用计数器和setinterval方法垂直移动UL元素,但不幸的是,我的代码似乎存在问题,因为有时当其值为2时,I计数器会自己重复它,或者当它达到极限时,它会返回到2 这是我的密码 <script type="text/javascript"> var length = $("#container ul li").length; var i = 0; function animate(){ var mtop =
<script type="text/javascript">
var length = $("#container ul li").length;
var i = 0;
function animate(){
var mtop = i*(-245);
console.log(i+" if yes ");
$("#container ul").animate({top:mtop+"px"},1000);
i++;
}
setInterval(function(){
if(i<length){
animate();
}else{
i=0;
animate();
}
},2000);
</script>
变量长度=$(“#容器ul li”)。长度;
var i=0;
函数animate(){
var mtop=i*(-245);
控制台日志(i+“如果是”);
$(“#容器ul”).animate({top:mtop+“px”},1000);
i++;
}
setInterval(函数(){
如果(i似乎与其他代码存在冲突,请尝试这样更改代码
<script type="text/javascript">
var length = $("#container ul li").length;
var o = 0;
function animate(){
var mtop = o*(-245);
$("#container ul").animate({top:mtop+"px"},1000);
}
setInterval(function(){
if(o==length)
{
o=0;
}
animate();
},2000);
</script>
变量长度=$(“#容器ul li”)。长度;
VarO=0;
函数animate(){
var mtop=o*(-245);
$(“#容器ul”).animate({top:mtop+“px”},1000);
}
setInterval(函数(){
如果(o==长度)
{
o=0;
}
制作动画();
},2000);
只要它等于length
,你就会重置i
,因此它当然会重复自身。你也永远不会停止间隔,所以它会一直这样做。这是你想要的吗?