#jquery #jquery-plugins
#jquery #jquery-плагины
Вопрос:
Я использую vTicker, плагин jQuery, который позволяет вам размещать вертикальную новостную ленту / скроллер на странице.
У меня нет никаких проблем с его запуском, но у меня возникают проблемы при попытке его уничтожить.
На моем веб-сайте у меня есть 6 изображений в < li> (необходимых для работы vTicker) и 4 < li> (таким образом, всего 4 строки по 6 изображений в каждой).
Дело в том, что когда пользователь изменяет размер браузера, я также изменяю размер изображений, но vTicker не пересчитывает высоту элемента.
Что мне нужно сделать, так это: 1) При изменении размера браузера мне нужно отключить / уничтожить текущий экземпляр vTicker и повторно инициализировать новый, чтобы он мог пересчитать правильные высоты для каждого элемента.
Мне удалось остановить его, вручную отредактировав код плагина vTicket, добавив перед «return»
$.fn.extend({
clear: function() {
clearInterval(interval);
}
});
Затем я могу остановить перемещение, вызвав что-то вроде
$vTicker.clear(); //where $vTicket i defined as $vticker = $('selector').vTicker({...});
Но затем, когда я пытаюсь повторно инициализировать плагин (создавая новый экземпляр), как будто оба моих экземпляра становятся активными … так что у меня в два раза больше перемещений
Есть идеи, как я мог бы это сделать? Дайте мне знать, если это неясно.
Спасибо
Ответ №1:
Возможно, лучшим решением было бы загрузить тикер через AJAX. Таким образом, когда он загрузится, вы можете вызвать свой $('#divId').vTicker({...})
, а затем, когда размер окна изменится (или вы захотите обновить его по какой-либо другой причине), вы просто удалите и перезагрузите весь элемент и повторно примените плагин vTicker.