2017-06-18 92 views
1

貓頭鷹旋轉木馬不會在鼠標懸停時恢復。當我加載它自動播放的頁面。當我將鼠標懸停時,它將停止,但不會在鼠標懸停時恢復。貓頭鷹旋轉木馬不會在鼠標懸停時恢復

<script> 
 
    var owl = $('.owl-carousel'); 
 
    owl.owlCarousel({ 
 
     items:4, 
 
     loop:true, 
 
     margin:10, 
 
     autoplay:true, 
 
     autoplayTimeout:1000, 
 
     autoplayHoverPause:true 
 
    }); 
 
    $('.play').on('click',function(){ 
 
     owl.trigger('play.owl.autoplay',[1000]) 
 
    }); 
 
    $('.stop').on('click',function(){ 
 
     owl.trigger('stop.owl.autoplay') 
 
    }); 
 
</script>

+0

這是一個錯誤。在這裏閱讀:https://github.com/OwlCarousel2/OwlCarousel2/pull/1942。 鏈接中有一些解決方法,也許你會在那裏找到一些有趣的東西。 – Catalyst

回答

3

解由用戶建議的[1]上GIT中回購所報告的問題是添加stop()方法來對owl.carousel.js貓頭鷹傳送帶V2.2.0

在約2562行查找該部分:

'mouseleave.owl.autoplay': $.proxy(function() { 
     if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) { 
      this.stop(); // Quick fix for resume play on mouseleave 
      this.play(); 
     } 
}, this), 

另一個用戶[2]也建議不要更改任何供應商代碼,因爲它可能會導致肛未來更新時會出現問題。

var owl = $('.owl-carousel'); 
var owlCarouselTimeout = 1000; 
owl.owlCarousel({ 
    items:4, 
    loop:true, 
    margin:10, 
    autoplay:true, 
    autoplayTimeout: owlCarouselTimeout, 
    autoplayHoverPause:true 
}); 
owl.on('mouseleave',function(){ 
    owl.trigger('stop.owl.autoplay'); //this is main line to fix it 
    owl.trigger('play.owl.autoplay', [owlCarouselTimeout]); 
}) 

參考:[1] https://github.com/OwlCarousel2/OwlCarousel2/issues/1471#issuecomment-277095022
[2] https://github.com/OwlCarousel2/OwlCarousel2/issues/1471#issuecomment-310347343

相關問題