jquery破碎的动画

时间:2013-07-09 12:34:44

标签: javascript jquery

请帮我纠正我的脚本:http://jsfiddle.net/b36cM/

                if(direction == -1){
                    wrapperElements.children(':last').after($('#carousel > ul').children().slice(0, options.rotateBy).clone());

                    shiftAction();

                    wrapperElements.children().slice(0, options.rotateBy).remove();
                }
                else{
                    // wrapperElements.children(':first').after($('#carousel > ul').children().slice(carouselLength - options.rotateBy, carouselLength).clone());

                    // shiftAction();

                    // wrapperElements.children().slice(carouselLength - options.rotateBy, carouselLength).remove();
                }               
            }

            function shiftAction(){
                console.log(offset);

                wrapperElements.animate({
                    'left': offset                  
                }, options.speed,   function(){
                                        running = false;
                                    });                 
            }               
        }

点击#prev时,动画会向左移动两个元素。我想顺利滚动一个项目。

1 个答案:

答案 0 :(得分:0)

请注意,shiftAction()和remove()运行异步,因此动画未在元素移除时完成,并且使动画跳转到第一个元素上,您可以使用

进行检查
setTimeout(function() {
      wrapperElements.children().slice(0, options.rotateBy).remove();
       },5000);

但它没有解决动画的漏洞问题