Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jCarousel在鼠标悬停时立即停止_Javascript_Jquery - Fatal编程技术网

Javascript jCarousel在鼠标悬停时立即停止

Javascript jCarousel在鼠标悬停时立即停止,javascript,jquery,Javascript,Jquery,我正在使用jQuery jCarousel作为滑块,几分钟后我找到了在mouseover上停止滑块的方法,但问题是它不会在mouseover上立即停止,它只在图像集的末尾停止(我的演示中有3幅图像)。然而,它确实在鼠标离开时立即开始。我是javascript新手,无法通过深入了解它的源代码来做很多事情( 我目前的代码- 谢谢jCarousel代码使用了我可以看到的两个计时器。jQuery动画支持中包装的计时器和将基础列表向前滚动一项的计时器。页面代码通过调用carousel.stopAuto()

我正在使用jQuery jCarousel作为滑块,几分钟后我找到了在mouseover上停止滑块的方法,但问题是它不会在mouseover上立即停止,它只在图像集的末尾停止(我的演示中有3幅图像)。然而,它确实在鼠标离开时立即开始。我是javascript新手,无法通过深入了解它的源代码来做很多事情(

我目前的代码-


谢谢

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

要清除该选项,还必须在carousel元素上调用jQuery的
stop()
函数

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

话虽如此,如果您在动画播放中途暂停,然后再次启动(比如,将鼠标移出),我不确定用户体验会发生什么变化。动画肯定不会在您停止的地方启动。我还猜想旋转木马会假定动画正常完成,并且您将获得“跳跃效果”,因为它将顶部项目正确设置到位。

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

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

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

此问题已修复。请看一看:我测试过:停止工作正常,但恢复似乎不可能,因为未调用动画的完整回调。