Я использую один из jQuery-тикеров в своем новом проекте, и страницы загружаются с использованием API истории HTML5 (pushState и popState). Как только содержимое страницы было загружено с помощью jQuery.getJSON(), я получаю предупреждение: «Элемент не существует в DOM!» - и я считаю, что это относится к контейнеру тикера (возвращается после вызова ajax), поскольку он не работает после загрузки содержимого.jQuery - добавьте тикер к DOM после вызова ajax
Я попытался создать экземпляр тикер снова в jQuery.getJSON() 'ы функции обратного вызова, но это не решает проблему:
jQuery.getJSON(url, function(data) {
jQuery.each(data, function(k, v) {
$('#' + k + ' section').fadeOut(200, function() {
$(this).replaceWith($(v).hide().fadeIn(200));
});
});
$('ul#feedNews').ticker({
speed: 0.10,
controls: true,
titleText: '<strong>Latest news</strong>',
displayType: 'reveal',
direction: 'ltr',
pauseOnItems: 3000,
fadeInSpeed: 600,
fadeOutSpeed: 300
});
});
Любая идея, что будет решение?
Thanks Rory - я нашел плагин под названием livequery(): https://github.com/brandonaaron/livequery/downloads, который, похоже, выполняет работу. – user398341