【发布时间】:2021-02-03 03:24:11
【问题描述】:
js 小提琴:https://jsfiddle.net/rfbvL4gj/7/
我有滑块,里面有图片。当我点击其中一张图片时,所有内容都被隐藏,并显示 .layer 元素和第二个带有相同图片的大型滑块。
但是有一个问题:当我点击大型滑块的 .swiper-button-next 和 .swiper-button-prev 时,什么也没有发生。我不知道出了什么问题。
JS:
let album_images_slider = new Swiper("#album_images_slider", {
direction: "horizontal",
slidesPerView: 1,
loop: true,
allowTouchMove: false,
speed: 600,
autoplay: {
delay: 3000
},
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev"
}
});
let album_images_slider_scale = new Swiper("#album_images_slider_scale", {
direction: "horizontal",
slidesPerView: 1,
loop: true,
allowTouchMove: false,
speed: 600,
autoplay: {
delay: 3000
},
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev"
}
});
$("#album_images_slider").click(function(e) {
if (e.target.nodeName == "IMG") {
$("body *").hide();
$("body").prepend(`<div class="layer"></div>`);
$(".layer").append(`
<div class="swiper-container" id="album_images_slider_scale">
<div class="swiper-wrapper">
<div class="swiper-slide">Slide 1</div>
<div class="swiper-slide">Slide 2</div>
<div class="swiper-slide">Slide 3</div>
<div class="swiper-slide">Slide 4</div>
</div>
<div class="swiper-navigation">
<div class="swiper-button-next"></div>
<div class="swiper-button-prev"></div>
</div>
</div>
`);
}
});
$("body").on("click", ".layer", function(event) {
let target = event.target;
if (!($(".swiper-container").has(target).length || $(target).hasClass("swiper-container"))) {
$(".layer").remove();
$("body *").show();
}
if ($(target).hasClass("swiper-button-next")) {
console.log("next");
}
else if ($(target).hasClass("swiper-button-prev")) {
console.log("prev");
}
});
【问题讨论】:
-
$(".layer").append(`
标签: javascript jquery slider swiper