如何在页面中显示多个滑块
How to show multiple slider in a page
我很抱歉问这个问题是否重复,但我是网络开发新手,
我已将 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";
}
这是脚本,但我向 slideId 变量添加了额外的滑块 ID,例如 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 工作
提前感谢您的帮助
我在脚本中找到了解决方案我为每个额外的 mySlider 添加了额外的 1 class。
<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>
对于继续滚动的左右箭头,我添加了相应的 class 名称编号,例如 myslide2 然后使用 2,对于 myslide3 使用 3 编号和 1 用于下一个
<div class="arrows"><a class="prev" onclick="plusSlides(-2, 2)">❮</a> <a class="next" onclick="plusSlides(1, 2)">❯</a>
使用这个脚本,我在单个页面中的所有滑块都可以作为继续滑块使用
我很抱歉问这个问题是否重复,但我是网络开发新手, 我已将 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";
}
这是脚本,但我向 slideId 变量添加了额外的滑块 ID,例如 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 工作
提前感谢您的帮助
我在脚本中找到了解决方案我为每个额外的 mySlider 添加了额外的 1 class。
<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>
对于继续滚动的左右箭头,我添加了相应的 class 名称编号,例如 myslide2 然后使用 2,对于 myslide3 使用 3 编号和 1 用于下一个
<div class="arrows"><a class="prev" onclick="plusSlides(-2, 2)">❮</a> <a class="next" onclick="plusSlides(1, 2)">❯</a>
使用这个脚本,我在单个页面中的所有滑块都可以作为继续滑块使用