Swiper.js不能翻页,异步加载问题解决!
发布时间:2023-09-28 16:13
发布者:admin
浏览次数:112
有时候需要给当前页面异步加载一个另外的页面,在初始化Swiper时会碰到不能翻页的问题,比如在xhr.onload函数里面,需要等数据加载完再初始化Swiper,这时候老版本的swiper.js按钮就会无法翻页!(本次测试用的5.4.5/js/swiper.js和5.4.5/js/swiper.min.js)都OK,是不是大于5.0就行,有待验证。
实例:
var url = 'page' + contentId + '.html'; var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.onload = function() { if (xhr.status === 200) { var html = xhr.responseText; // 创建一个临时的 div 元素用于解析 HTML var tempDiv = document.createElement('div'); tempDiv.innerHTML = html; // 获取临时 div 中所有的目标标签 var targetTags = tempDiv.querySelectorAll('.swiper-slide'); // 清空容器中的内容 swiperWrapper.innerHTML = ''; // 将目标标签添加到容器中 targetTags.forEach(function(tag) { swiperWrapper.appendChild(tag); }); // 初始化 Swiper var swiper = new Swiper('.swiper-container', { slidesPerView: 1, loop: true, // 启用循环轮播 keyboard: true, navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, }); } }; xhr.send();
将需要加载的页面加载完,初始化Swiper,完美翻页!