slider-pro
slider-pro copied to clipboard
Resize can continue to work, even after slider is destroyed.
I am using the slider in an SPA and I got allot of errors from mobile Chrome. Turns out the resize listener can get triggered, just before I destroy the slider when navigating away from a page. That causes the slider to error out as there is a 200ms debounce on that event, which gets called after the slider is not in the DOM.
@davidghi do you think it is OK to add a check on those throttled callbacks, to see if the instance is not destroyed, elements are in the DOM and what knot?
Hi. Sorry for the late reply! I will try to implement a fix for this issue in the next update. For now, a fix could be to create a custom destroy function which clears the 'resize' timer first and then call's the slider's 'destroy' method. For example:
function customDestroy() {
var $slider = jQuery( '.slider-pro' ),
sliderId = $slider.data( 'sliderPro' ).uniqueId;
$( window ).off( 'resize.' + sliderId );
setTimeout( function() {
$slider.sliderPro( 'destroy' );
}, 200 );
}
Best, David
Hah I did not think of that... Will give it a try.