Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 垂直移动ul元件_Javascript_Jquery_Setinterval - Fatal编程技术网

Javascript 垂直移动ul元件

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 =

我需要你的帮助

我试图使用计数器和setinterval方法垂直移动UL元素,但不幸的是,我的代码似乎存在问题,因为有时当其值为2时,I计数器会自己重复它,或者当它达到极限时,它会返回到2

这是我的密码

 <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
,因此它当然会重复自身。你也永远不会停止间隔,所以它会一直这样做。这是你想要的吗?