如何在一个页面中显示多个滑块
2021-01-15
674
如果问题重复了,我很抱歉,但我是网络开发新手, 我曾使用 w3schools 的代码在同一页面上使用多个滑块
var slideIndex = [1,1];
/* Class the members of each slideshow group with different CSS classes */
var slideId = ["mySlides1", "mySlides2"]
showSlides(1, 0);
showSlides(1, 1);
function plusSlides(n, no) {
showSlides(slideIndex[no] += n, no);
}
function showSlides(n, no) {
var i;
var x = document.getElementsByClassName(slideId[no]);
if (n > x.length) {slideIndex[no] = 1}
if (n < 1) {slideIndex[no] = x.length}
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
x[slideIndex[no]-1].style.display = "block";
}
这是脚本,但我将额外的滑块 ID 添加到 slideId var,如 mySlides3、mySlides4、mySlides5、mySlides6、mySlides7
var slideId = ["mySlides1", "mySlides2"]
showSlides(1, 0);
showSlides(1, 1);
幻灯片不适用于 myslide3 到 myslides7 因为第一张幻灯片包含箭头
<a class="prev" onclick="plusSlides(-1, 0)">❮</a>
<a class="next" onclick="plusSlides(1, 0)">❯</a>
第二张幻灯片包含
<a class="prev" onclick="plusSlides(-1, 1)">❮</a>
<a class="next" onclick="plusSlides(1, 1)">❯</a>
如果我重复它们,它们适用于 myslide3 到 7
提前感谢您的帮助
1个回答
我在脚本中找到了解决方案,我为每个额外的 mySlider 类添加了额外的 1。
<script>
var slideIndex = [1,1,1,1,1,1,1];
/* Class the members of each slideshow group with different CSS classes */
var slideId = ["mySlides", "mySlides1", "mySlides2","mySlides3", "mySlides4", "mySlides5" , "mySlides6"]
showSlides(1, 0);
showSlides(1, 1);
showSlides(1,2);
showSlides(2, 3);
showSlides(3, 4);
showSlides(4,5);
showSlides(5,6);
function plusSlides(n, no) {
showSlides(slideIndex[no] += n, no);
}
function showSlides(n, no) {
var i;
var x = document.getElementsByClassName(slideId[no]);
if (n > x.length) {slideIndex[no] = 1}
if (n < 1) {slideIndex[no] = x.length}
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
x[slideIndex[no]-1].style.display = "block";
}
</script>
对于继续滚动的左右箭头,我添加了相应的类名编号,如 myslide2 然后使用 2,对于 myslide3 使用 3 个数字以及 1 表示下一个
<div class="arrows"><a class="prev" onclick="plusSlides(-2, 2)">❮</a> <a class="next" onclick="plusSlides(1, 2)">❯</a>
使用此单个脚本,我单个页面中的所有滑块都可以用作继续滑块
baxi
2021-01-15