2015-05-07 1 views
0

У меня есть веб-страница, где я использую 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 
});