我正在使用jQuery jCarousel作为滑块,几分钟后我找到了在鼠标悬停时停止滑块的方法,但问题是鼠标悬停时它不会立即停止,它只停留在图像集的末尾(我的演示中有3张图片)。但是它会在鼠标输出时立即启动。我是新的javascript东西,并且通过潜入它的来源做不了多少。 :(
我当前的代码 - http://bit.ly/ijNcow
谢谢
答案 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);
话虽如此,我不确定如果您在动画中途暂停然后再次启动(通过移动鼠标,请说),用户体验会发生什么。动画不会在你离开的地方启动,这是肯定的。我还猜测旋转木马会假设动画正常完成,你会得到一个“跳跃效果”,因为它正确设置了顶级项目。