Javascript 在单独元素悬停时暂停旋转木马(Owl Beta 2)

Javascript 在单独元素悬停时暂停旋转木马(Owl Beta 2),javascript,jquery,owl-carousel,Javascript,Jquery,Owl Carousel,我已经创建了一个单独的导航,它完全位于旋转木马之外,但是我在自动播放方面遇到了一些问题 以下是标记: <div class="carousel"> <div class=""> <img src="assets/img/carousel1.jpg" /> </div> <div class=""> <img src="assets/img/carousel2.jpg" /&g

我已经创建了一个单独的导航,它完全位于旋转木马之外,但是我在自动播放方面遇到了一些问题

以下是标记:

<div class="carousel">
    <div class="">
        <img src="assets/img/carousel1.jpg" />
    </div>
    <div class="">
        <img src="assets/img/carousel2.jpg" />
    </div>
    <div class="">
        <img src="assets/img/carousel3.jpg" />
    </div>
    <div class="">
        <img src="assets/img/carousel4.jpg" />
    </div>
</div>

<div class="carousel_selector">
    <a href="" data-to="0">0</a>
</div>
<div class="carousel__selector">
    <a href="" data-t="1">1</a>
</div>
<div class="carousel_selector">
    <a href="" data-to="2">3</a>
</div>
<div class="carousel_selector">
    <a href="" data-to="3">4</a>
</div>
在('mouseover'、…和
.on('mouseleave'、…
上按预期调用了
,但是旋转木马只是偶尔暂停。我看不到它暂停时的任何模式

.on('click'),…
工作绝对正常,但当自动播放暂停时,它会立即恢复。我尝试在导航后立即添加一个停止自动播放的调用,但没有效果

我的问题是:

1) 当鼠标位于某些元素上时,如何始终暂停旋转木马


2) 即使在触发
到.owl.carousel
之后,carousel自动播放能否保持暂停状态(前提是鼠标在某些元素上)?

我很确定您的问题是,您没有使用最新开发的owl carousel 2.0测试版。因此,您面临一些旧的错误;当前工作的运行演示会很有帮助

签出此演示后,您将看到它的工作方式与预期的一样:。可能需要使用按钮
与JS一起运行几次
,因为有时rawgit.com中的资源不会立即加载


关于你的第二个问题,只要你将鼠标指针停留在链接上,这就行了,否则你的处理程序
mouseleave
会重新触发自动播放。

更新到最新版本修复了第一个问题。第二个问题似乎适用于你的演示,但肯定不适用于我的。我将提供一个JSFIDLE,请参阅如果我可以重新创建问题。我的答案有什么问题?我已经提供了一个工作示例。你的答案没有问题,但我的设置不起作用。我将提供一个JSFIDLE,看看我们是否可以找出差异。
var carousel = $(".carousel");

carousel.owlCarousel({
    autoplay: true,
    autoplayHoverPause: true,
    autoplayTimeout: 500,
    items: 1,
    loop: true
});

$('.carousel_selector a').on('mouseover', function (e){
    carousel.trigger('stop.owl.autoplay');
});

$('.carousel_selector a').on('mouseleave', function (e){
    carousel.trigger('play.owl.autoplay');
});

$('.carousel_selector a').on('click', function (e){
    e.preventDefault();
    var slideTo = $(this).data('to');
    carousel.trigger('to.owl.carousel', [slideTo]);
    carousel.trigger('stop.owl.autoplay');
});