Я работаю над мобильным веб-приложением jquery. Я пробовал интегрировать dangero.us swiper. Я заполняю свой swiper-контейнер динамическим HTML. Я пробовал использовать функцию reinit () после вставки html, как описано в других задачах, но ничего не произошло.
это мой HTML:
<div data-role="page" id="slider">
.....
<div class="swiper-container">
<div class="swiper-wrapper"> <!-- wrapper -->
<div id="slidecontent"></div> <!-- dyn. html here -->
</div> <!-- wrapper -->
</div>
это мой код для заполнения динамического контента, инициализировать swiper-instance вызовом reinit () - function
$('#slider').on('pageinit', function(event) {
$('#slidecontent').load('slider_input.html').trigger("create");
// div containers loading
});
$(document).on('pageshow', '#slider', function(){
var myapp2goSwiper = $('.swiper-container').swiper({
pagination: '.pagination',
paginationClickable: true,
slidesPerView: 1,
loop: true,
onSlideClick : function(swiper) {
//Do something when you touch the slide
var i = myapp2goSwiper.clickedSlideIndex;
var a = myapp2goSwiper.activeSlide();
console.log(i);
console.log(a);
}
});
//myapp2goSwiper.reInit();
reinitSwiper(myapp2goSwiper);
});
function reinitSwiper(swiper) {
setTimeout(function () {
swiper.reInit();
}, 500);
};
В моем браузере ничего не отображается. Что я могу сделать, чтобы обновить или повторно загрузить свой html-контент, чтобы экземпляр swiper работал правильно? Живая демонстрация находится по адресу http://www.m.myapp2go.de/myapp2go-slide.html
Я решил свою проблему. Добавлять мой html-контент в <div id="slidecontent"></div>
было неправильно. Мне нужно напрямую добавить html-контент в <div class="swiper-wrapper">
.
Сейчас работает, но:
- пагинация больше не отображается
- onSlideClick больше не срабатывает
Какие-либо предложения?