我正在使用cycle.all.js jQuery插件(http://jquery.malsup.com/cycle/)。现在它工作正常,但我需要第一张图像比其他所有图像都更短。因此,当用户首次将鼠标悬停在幻灯片放映时,循环立即开始,但在第一张幻灯片之后,它会将超时更改为650.这就是我的代码现在的样子:
$('div#slideshow').mouseenter(->
$(this).cycle
fx: "fade",
speed: 1
timeout: 650
).mouseleave ->
$(this).cycle 'stop'
答案 0 :(得分:1)
您可以使用delay
选项执行此操作,并为其指定负值:
$(this).cycle
fx: "fade",
speed: 1
timeout: 650
delay: -650
)
请注意,这会导致它立即到第二张幻灯片,我认为这是你想要的,因为在用户将鼠标悬停在幻灯片上之前,幻灯片的第一张图片已经可见。
正如本杰明指出的那样,在Coffeescript中,你可以使用@
作为this
的捷径:
$('div#slideshow').mouseenter(->
$(@).cycle
fx: "fade",
speed: 1,
timeout: 650,
delay: -650 //go to the next slide immediately
).mouseleave ->
$(@).cycle 'stop'