我遇到了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插件,但是真的想用循环创建那种效果。
答案 0 :(得分:3)
如果您需要真正连续的滚动,可以使用easeIn
和easyOut
选项。试试这个:
$('#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;*/