jQuery循环+最小超时



我有一个小问题与jQuery周期插件和它的超时。

我正在使用scrollLeft效果,并希望让它始终保持滚动(类似于新闻行情,如果你知道我的意思)。现在使用timeout: 0将无法工作,因为它将完全禁用自动滚动。

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

为了更清楚一点:

将超时时间增加到timeout: 10000有预期的效果,并暂停滑动10秒,但将其减少到timeout: 1看起来就像我使用timeout: 1000

我不确定问题在哪里,因为我在谷歌寻找最小超时,但找不到任何说超时最小值是1000

的东西

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

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

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

问候!

注。我不想使用某种newsticker插件,但我真的想用cycle来创建这种效果。

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

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

jQuery Cycle有一个叫continuous的选项,这是最接近于传统新闻播报器的插件。试试以下命令:

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

我希望这对你有帮助!

编辑:忽略这个答案,因为它需要更改代码。使用上面回答的continuous选项

在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;*/

相关内容

  • 没有找到相关文章

最新更新