jCarousel在鼠标悬停时立即停止

时间:2011-03-20 12:05:24

标签: javascript jquery

我正在使用jQuery jCarousel作为滑块,几分钟后我找到了在鼠标悬停时停止滑块的方法,但问题是鼠标悬停时它不会立即停止,它只停留在图像集的末尾(我的演示中有3张图片)。但是它会在鼠标输出时立即启动。我是新的javascript东西,并且通过潜入它的来源做不了多少。 :(

我当前的代码 - http://bit.ly/ijNcow

谢谢

2 个答案:

答案 0 :(得分:4)

通常,我们使用.click()来管理jCarousel。在这种情况下 - 您可以使用以下代码来停止动画:

itemLoadCallback: {
    onBeforeAnimation: function(jc, state) {
        jc.lock();
    }
}  

jc.lock()jc.unlock()函数分别停止和恢复动画。

答案 1 :(得分:1)

jCarousel代码使用了两个我能看到的定时器。计时器包含在jQuery的动画支持和一个计时器中,该计时器将基础列表向前滚动一个项目。您的页面代码通过调用carousel.stopAuto()清除第二个计时器,但不会调用动画计时器。因此,动画一直持续到下一个项目被滚动(实质上,第二个项目到达最顶层位置)。

要清除那个,你还必须在carousel元素上调用jQuery的stop()函数。猜测(不,我没有测试过),你应该打电话给

$('#listing').stop(true); 

话虽如此,我不确定如果您在动画中途暂停然后再次启动(通过移动鼠标,请说),用户体验会发生什么。动画不会在你离开的地方启动,这是肯定的。我还猜测旋转木马会假设动画正常完成,你会得到一个“跳跃效果”,因为它正确设置了顶级项目。