我已经设置了带外部控件的jcarousel。当我'鼠标悬停'在'控件'列表中的链接时,轮播将滚动到相应的图像。
到目前为止一切正常,但当我'鼠标悬停'不同的'控件' - 快速链接时,它会卡在第一个链接上并等待滚动动画完成。
// SCROLL TO LINK
$('#controls a').on('mouseover',function() {
var opt = $('#controls a').index(this)+1;
carousel.scroll($.jcarousel.intval(opt));
});
我不确定,但我想我必须停止'mouseover'上的滚动动画来解决这个问题。
我试过这些行(不起作用):
carousel.stop(true);
和
carousel.scroll.stop(true);
有人可以帮我这个吗?这可能是一个简单的解决方案,但我对jQuery或编程一般没有经验。
答案 0 :(得分:5)
有同样的问题。发现很简单的解决方案 把它放在“jquery.jcarousel.js”
中/**
* Stop animates the carousel, jump To End (animate Slide).
*
* @method animate
* @return undefined
*/
stopAnimate: function() {
this.list.stop(true,true,true);
},
之后
/**
* Animates the carousel to a certain position.
*
* @method animate
* @return undefined
* @param p {Number} Position to scroll to.
* @param a {Boolean} Flag indicating whether to perform animation.
*/
animate: function(p, a) {
-/-/-/-/(several strings)
},
我的//滚动到链接//看起来像(我有另外的autoScrolling)
$('#controls a').hover(function() {
var opt = $("#controls a").index(this) + 1;
carousel.scroll(opt);
carousel.stopAuto();//autoScroll Stop
}, function() {
carousel.stopAnimate(); //! here is located our function
carousel.startAuto();//autoScroll Start
});
也许有人发现它很有用!
答案 1 :(得分:2)
我有一个类似的控件使用jCarousel控件,当我鼠标悬停在某些div上时会显示一个特定的图像。我也遇到了问题,如果滚动动画已经播放,旋转木马将无法进入新目标。事实证明,我需要停止当前正在播放的动画是以下代码......
$(.jcarousel).jcarousel('list').finish();
我在指定新目标之前就调用了它,它解决了我的问题。我希望这会有所帮助。
答案 2 :(得分:0)
来自https://sorgalla.com/jcarousel/docs/plugins/autoscroll/reference/api.html:
开始自动滚动:
$('.jcarousel').jcarouselAutoscroll('start');
停止自动滚动:
$('.jcarousel').jcarouselAutoscroll('stop');
我希望这会有所帮助。