У меня есть контент, который охватывает несколько страниц. Через jscroll Я могу успешно добавить содержимое других страниц на мою текущую страницу. Я использую кнопку, чтобы инициировать загрузку дополнительного контента.Повторное инициирование bxSlider для содержимого, загруженного ajax, через jscroll
На протяжении моих страниц я использую несколько bxSlider каруселей, которые останавливают работать на приложенном, AJAX загруженного содержания, так как bxSlider явно увольняют (и должно быть, так как документацию государства) на PageLoad, поэтому он пропускает новые ползунки в AJAX-загруженный контент.
Теперь у bxSlider есть функция reloadSlider, которая, кажется, не распознает недавно добавленные слайдеры после начальной загрузки страницы, она, по-видимому, предназначена исключительно для добавления новых слайдов к существующим ползункам.
Есть ли способ вызвать bxSlider для переоценки текущего состояния содержимого страницы и обработки новых ползунков, которые будут добавлены при нажатии кнопки для jscroll (возможно, для обработки любой задержки, создающей контент)?
Вот только грубый набросок созвездия:
<div id="outer_wrapper">
<div id="content_wrapper">
<!-- My initial content -->
<div id="somediv">...</div>
<div id="somediv2">...</div>
<div id="somediv3" class="author_slider">My first carousel</div>
<div id="somediv4">...</div>
<div id="somediv5">...</div>
<a href="page2.php" class="loadcontent">Load more content</a>
<!-- My AJAX-loaded second page, bxSlider fails -->
<div id="somediv6">...</div>
<div id="somediv7">...</div>
<div id="somediv8" class="author_slider">My second carousel</div>
<div id="somediv9">...</div>
<div id="somediv10">...</div>
<a href="page3.php" class="loadcontent">Load more content</a>
</div>
</div>
Edit: Это мой JS для bxSlider и jscroll:
// Slider — Widget Authors
jQuery(document).ready(function(jQuery) {
jQuery('.author_slider ul').bxSlider({
minSlides: 3,
maxSlides: 5,
slideWidth: 104,
speed: 500,
pager: true,
nextSelector: '.nextLink',
prevSelector: '.prevLink'
});
});
// JScroll
jQuery(document).ready(function(jQuery) {
jQuery('#content_wrapper').jscroll({
loadingHtml: '<div class="loadcontent loading"><a>Loading …</a></div>',
nextSelector: '.loadcontent',
contentSelector: '#content_wrapper',
autoTrigger: false
});
});
Я думаю, что проблема, которую вы видите на оповещенном пейджинговом механизме, заключается в том, что селектора для «пейджера», а также 'prev' и' next' в ваших вариантах для инициализации bxslider являются общими классами. Это означает, что они будут соответствовать любому классу с этой спецификацией: 'nextSelector: '.nextLink', prevSelector: '.prevLink', pagerSelector: '.author_pager','. эти параметры в спецификации слишком общие. Я не могу придумать очевидный селектор, который бы разрешил эту проблему для вас. вы должны написать пользовательскую функцию пейджера & prev/next или ??? – darrylivan
Да, так как они должны быть устроены так, как вы это видите. prevSelector, затем pageSelector, затем nextSelector. Обычно он группирует prev/next вместе, но макет требует от меня разделить его. Тем не менее, bxSlider не будет создавать идентификаторы для своих собственных элементов управления и пейджеров, плюс я не смогу адресовать идентификаторы случайных divs, так как они неизвестны заранее. – physalis
Не могли бы вы каким-то образом вызвать в карусели id, как вы делаете для всей карусели? – physalis