jQuery循环+最小超时

时间:2011-10-15 16:29:02

标签: jquery timeout cycle

我遇到了jQuery循环插件及其超时的小问题。

我正在使用scrollLeft效果,并希望始终保持滚动(如果您知道我的意思,则类似于新闻自动收录器)。现在使用timeout: 0将无效,因为它会禁用自动搜索。

所以我想到使用timeout: 10(几乎没有明显的超时),但这也不起作用,因为无论我设置超时有多低,超时似乎总是大约一秒(甚至使用timeout: 1时。

再次说明一点:

将超时时间增加到timeout: 10000会产生预期效果并暂停滑动10秒,但将其降低到timeout: 1看起来就像我使用timeout: 1000

一样

我不确定问题出在哪里,因为我在Google周围寻找最小超时,但是找不到任何说超时最短为1000

的内容

我使用的脚本非常简单,所以我认为那里应该没有错误,但只是为了你可以检查我发布它:

    $('#demo').cycle({
        slideExpr: 'p',
        fx: 'scrollLeft',
        next: '.next', 
        speedIn: 5000,
        speedOut: 5000,
        fastOnEvent: 1000,
        containerResize: 0,
        pause: 1,
        timeout: 10
    });

我希望我能够很好地解释我的问题:)

问候!

P.S。我不想使用某种newsticker插件,但是真的想用循环创建那种效果。

3 个答案:

答案 0 :(得分:3)

如果您需要真正连续的滚动,可以使用easeIneasyOut选项。试试这个:

$('#demo').cycle({
   fx: 'scrollHorz',
   continuous: 1,
   easeIn: 'linear',
   easeOut: 'linear'
});

答案 1 :(得分:2)

jQuery Cycle有一个名为continuous的选项,它是该插件最接近传统新闻自动收录器的选项。请尝试以下方法:

$('#demo').cycle({ 
    fx: 'scrollLeft', 
    continuous: 1
});

我希望这有帮助!

答案 2 :(得分:1)

在buildOptions()函数中找到以下代码

var buffer = opts.fx == 'none' ? 0 : opts.fx == 'shuffle' ? 500 : 250;
while((opts.timeout - opts.speed) < buffer) // sanitize timeout
    opts.timeout += opts.speed;*/

并评论while循环

var buffer = opts.fx == 'none' ? 0 : opts.fx == 'shuffle' ? 500 : 250;
/*while((opts.timeout - opts.speed) < buffer) // sanitize timeout
    opts.timeout += opts.speed;*/