4
$('.ip_button').click(function(){
   var buttonValue, slideTimes;
   buttonValue = $(this).html();
   slideTimes = parseInt(buttonValue) - 1;
   for (var i = 0 ; i < slideTimes; i++) { 
          slider.gallery_next(); 
       }             
});

嗨,我正在尝试使用确定按钮 -1 的值并多次运行幻灯片的函数在滑块上滑动多个图像。不幸的是,无论按钮中的值是什么,函数都只会执行一次。按钮中的当前值为:

<button class="ip_button">5</button>

gallery_next() 的函数;被封装并如下所示:

this.gallery_next = function() {
    if (galleryRotating) { return; }
    galleryRotating = true;
    var elem = $(galleryId + " > li").first();
    $(galleryId).append(elem.clone());
    $(galleryId).animate({"left" : -imgWidth}, 650, function() {
        elem.remove();
        galleryRotating = false;
        $(galleryId).css({"left" : 0});
    });
4

1 回答 1

3

animate不会在时间循环再次调用函数时完成,for所以galleryRotation仍然是真的,函数什么也不做。您需要一种不同的方法:设置一个计时器以在 700 毫秒内调用您的函数,或者(更好)在您传递给的回调中再次调用旋转animate

于 2013-03-14T13:26:30.407 回答