Уничтожение и повторная инициализация Turn.js
У меня есть веб-страница, где я использую turn.js
и хотите уничтожить и повторно инициализировать плагин, если пользователь изменяет размер страницы ниже определенного порогового значения. Я проверяю это следующим образом:
$(window).resize(function() {
if (Modernizr.mq('(min-width: 764px)')) {
$("#flipbook").turn("destroy");
}
});
Однако я не уверен, как повторно инициализировать turn.js
впоследствии?
1 ответ
Решение
Вы близки: нужно добавить еще одну вещь $( window ).unbind( 'keydown' );
а затем повторно инициализировать, добавив .turn()
снова;
$( '#book' ).turn( 'addpage', element, pageNo );
это правильный способ сделать это, но я не хочу возвращать только блок HTML. Я предпочитаю перезагрузить весь div
, Итак, что сработало для меня:
// data is html ajax response
// destroy any previous bindings'
if ( $( '#book' ).turn( 'is' ) ) {
$( '#book' ).turn( 'destroy' );
$( window ).unbind( 'keydown' );
}
$( '#book' ).html( data );
// load the book
$( '#book' ).turn({
display: 'double'
, acceleration: true
, gradients: !$.isTouch
, elevation:50
});