1

原始代码使用它:当所有图像都显示在循环中时,我想在循环重新启动之前暂停一下。所以我尝试使用 SetTimeout,但我认为我没有使用好的代码。

我的原始代码,工作正常:

$(document).ready(function() {
 $('.slideshow1').cycle({ 
  fx:     'none', 
  timeout: 100
  });
 }); 

我想补充的是:

$(document).ready(function() {
setTimeout(function()
 {
  $('.slideshow1').cycle({ 
  fx:     'none', 
  timeout: 100
  }, 5000);
 });
});    
4

1 回答 1

0

我认为您想使用该timeoutFn选项为最后一张幻灯片提供自定义超时。从选项参考页面:

timeoutFn:     null,  // callback for determining per-slide timeout value: 
                      // function(currSlideElement, nextSlideElement, 
                      // options, forwardFlag) 

您需要进行一些实验来确定最后一个元素上的内容currSlideElement和/或nextSlideElement内容,如果您看到最后一张幻灯片,则返回更长的超时时间。


更新

这是user2440625编写的工作代码:

$(document).ready(function() {
    $('.slideshow1').cycle({ 
    fx: 'none', 
    timeout: 100,
    timeoutFn : calculateTimeout
    });
}); 

function calculateTimeout(currElement, nextElement, opts, isForward) { 
    var index = opts.currSlide;
    if  (index==8){ // position last image.
        return 5000; 
    }
    return false;
}
于 2013-05-31T13:56:47.127 回答