垂直移动ul元素

时间:2014-11-17 14:06:38

标签: javascript jquery setinterval

我需要你的帮助。

我正在尝试使用counter和setinterval方法垂直移动UL元素,但不幸的是,我的代码似乎存在问题,因为有时i计数器在其值为2时重复自我,或者在达到时返回到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>

1 个答案:

答案 0 :(得分:0)

似乎与其他代码存在冲突,尝试像这样更改代码

<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>