Уничтожение и повторная инициализация 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
});
Другие вопросы по тегам