2014-09-12 41 views
2

我已閱讀了一堆關於此的討論,但他們都沒有爲我解決這個問題。根據視口大小銷燬並初始化貓頭鷹傳送帶

我使用enquire.js做我視條件和我的代碼如下:

var $slider = $('#home-farms-slider'), 

    sliderOptions = { 
     items: 1, 
     animateOut: 'fadeOut', 
     animateIn: 'fadeIn' 
    }; 

enquire.register("screen and (min-width: 1000px)", { 
    match : function() { 

     $slider.owlCarousel(sliderOptions); 

    }, 
    unmatch : function() { 

     $slider.trigger('destroy.owl.carousel'); 

    } 
}); 

一切工作按預期只是當destroy被觸發,我的控制檯引發此錯誤:

Uncaught TypeError: Cannot read property '_onResize' of null 
owl.carousel.min.js?ver=2.0.0:1 

e.onThrottledResize 
owl.carousel.min.js?ver=2.0.0:1 

m.isFunction.e 
jquery.js?ver=1.11.1:2 

發生這種情況時,當我的條件匹配時,滑塊將不再初始化。我不確定到底發生了什麼。

更新9/15:

我碰到這個問題在GitHub上,也做了同樣的我的滑塊:

https://github.com/OwlFonk/OwlCarousel2/issues/460

我現在能夠破壞並重新初始化OwlCarousel因爲類和包裝都不見了。但是,我仍然收到該控制檯錯誤。每當視口調整大小時都會重複該錯誤,所以儘管我的滑塊行爲正常,但這並不理想。任何幫助,爲什麼我得到這個錯誤將是真棒!

回答

0

嘗試將響應選項添加爲false;使用您的選項塊:

sliderOptions = { 
    items: 1, 
    animateOut: 'fadeOut', 
    animateIn: 'fadeIn', 
    responsive: false 
}; 

對我來說,這將停止ThrottledResize事件從射擊,我猜貓頭鷹有一個延遲的事件觸發它的破壞導致錯誤之後。歡呼你的鏈接(9/15)幫助我!

+0

是的!這阻止了錯誤。謝謝! – 2014-10-14 02:28:56

+0

這是測試版2中的一個錯誤 - 更新至測試版3時,問題得到修復 - 請參閱:https://github.com/smashingboxes/OwlCarousel2/commit/2064682082e5127620b07f5d4d97a8e883e3d440 – 2015-11-30 11:33:35