首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以在jcarousellite中动态设置超时吗?

可以在jcarousellite中动态设置超时吗?
EN

Stack Overflow用户
提问于 2012-04-13 19:37:11
回答 2查看 759关注 0票数 0

我想在jcarouselLITE中设置两个计时器(注意-不是jcarousel)。理想情况下,前三张幻灯片的超时时间应该是1000,第四张幻灯片的超时时间应该是8000。下面的代码获取当前滑块的索引,并使用afterEnd函数相应地更改变量variablex

代码语言:javascript
复制
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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-13 20:06:15

这只是一个原始的想法,所以它可能不会像预期的那样工作。

代码语言:javascript
复制
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/

票数 0
EN

Stack Overflow用户

发布于 2012-04-13 19:57:44

在jCarousel中没有超时选项,它是自动等同的。然后,您可以在初始化jcarousel元素后访问这些元素

代码语言:javascript
复制
jQuery('#mycarousel').data('jcarousel')

这将返回当前carousel的实例对象,您应该能够通过jQuery('#mycarousel').data('jcarousel').options访问options对象来动态更改选项,因此您可以通过执行以下操作来更改自动选项

代码语言:javascript
复制
jQuery('#mycarousel').data('jcarousel').options.auto = 5;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10140074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档