我想在jcarouselLITE中设置两个计时器(注意-不是jcarousel)。理想情况下,前三张幻灯片的超时时间应该是1000,第四张幻灯片的超时时间应该是8000。下面的代码获取当前滑块的索引,并使用afterEnd函数相应地更改变量variablex:
var variablex;
$('.slideshow').jCarouselLite({
auto: true,
afterEnd: function(a){
var index = $(a[0]).index();
if (index == 3) {
variablex = 8000;
}
else {variablex = 1000;}
},
timeout: variablex;
});我意识到jCarouselLite函数不会一直检查timeout的值--有没有什么方法可以用js将值赋给循环外部的变量?
jcarousellite脚本可以在以下位置找到:github
发布于 2012-04-13 20:06:15
这只是一个原始的想法,所以它可能不会像预期的那样工作。
var slideshowTimeout = 1000;
var $slideShow = $('.slideshow');
var slideshowCount = $slideShow.find('li').length +3;
var isSlowedDown = false;
$slideShow.jCarouselLite({
auto: true,
timeout: slideshowTimeout,
afterEnd: function(a){
var index = $(a[0]).index();
if (index === slideshowCount && isSlowedDown === false) {
slideshowTimeout = 4000;
isSlowedDown = true;
$slideShow.trigger("endCarousel")
$slideShow.jCarouselLite({
auto: true,
timeout: slideshowTimeout,
start: slideshowCount
});
}
},
});示例:http://jsfiddle.net/e2e4V/1/
发布于 2012-04-13 19:57:44
在jCarousel中没有超时选项,它是自动等同的。然后,您可以在初始化jcarousel元素后访问这些元素
jQuery('#mycarousel').data('jcarousel')这将返回当前carousel的实例对象,您应该能够通过jQuery('#mycarousel').data('jcarousel').options访问options对象来动态更改选项,因此您可以通过执行以下操作来更改自动选项
jQuery('#mycarousel').data('jcarousel').options.auto = 5;https://stackoverflow.com/questions/10140074
复制相似问题