Javascript 一页上有多个幻灯片

Javascript 一页上有多个幻灯片,javascript,html,css,slideshow,Javascript,Html,Css,Slideshow,我试图在一个页面上添加多个幻灯片,但遇到了一些困难。我可以添加两个功能正常的幻灯片,但当我添加第三个时,一切都会中断 有人能提出一个解决方案,在一个页面上添加多个幻灯片吗 这是代码笔: HTML: <h2 style="text-align:center">Multiple Slideshows</h2> <p>Slideshow 1:</p> <div class="slideshow-container"> <div c

我试图在一个页面上添加多个幻灯片,但遇到了一些困难。我可以添加两个功能正常的幻灯片,但当我添加第三个时,一切都会中断

有人能提出一个解决方案,在一个页面上添加多个幻灯片吗

这是代码笔:

HTML:

<h2 style="text-align:center">Multiple Slideshows</h2>

<p>Slideshow 1:</p>
<div class="slideshow-container">
  <div class="mySlides1">
    <img src="https://www.w3schools.com/howto/img_nature_wide.jpg" style="width:100%">
  </div>

  <div class="mySlides1">
    <img src="https://www.w3schools.com/howto/img_snow_wide.jpg" style="width:100%">
  </div>

  <div class="mySlides1">
    <img src="https://www.w3schools.com/howto/img_mountains_wide.jpg" style="width:100%">
  </div>

  <a class="prev" onclick="plusSlides(-1, 0)"></a>
  <a class="next" onclick="plusSlides(1, 0)"></a>
</div>

<p>Slideshow 2:</p>
<div class="slideshow-container">
  <div class="mySlides2">
    <img src="https://www.w3schools.com/howto/img_band_chicago.jpg" style="width:100%">
  </div>

  <div class="mySlides2">
    <img src="https://www.w3schools.com/howto/img_band_la.jpg" style="width:100%">
  </div>

  <div class="mySlides2">
    <img src="https://www.w3schools.com/howto/img_band_ny.jpg" style="width:100%">
  </div>

  <a class="prev" onclick="plusSlides(-1, 1)"></a>
  <a class="next" onclick="plusSlides(1, 1)"></a>
</div>
JAVASCRIPT:

var slideIndex = [1,1,1];
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";  
}
var slideIndex=[1,1,1];
var slideId=[“mySlides1”、“mySlides2”]
放映幻灯片(1,0);
放映幻灯片(1,1);
函数加滑块(n,否){
放映幻灯片(幻灯片索引[no]+=n,no);
}
功能演示幻灯片(n,否){
var i;
var x=document.getElementsByClassName(slideId[no]);
如果(n>x.length){slideIndex[no]=1}
如果(n<1){slideIndex[no]=x.length}
对于(i=0;i
更新了您的代码,3个幻灯片可以轻松运行。
你只需要调整你的
js
代码(就像我做的那样)

  • 添加第三个幻灯片的类名
  • 调用<代码>放映幻灯片(1,id)
var slideIndex=[1,1,1];
var slided=[“幻灯片”、“幻灯片2”、“幻灯片3”]
放映幻灯片(1,0);
放映幻灯片(1,1);
放映幻灯片(1、2);
函数加滑块(n,否){
放映幻灯片(幻灯片索引[no]+=n,no);
}
功能演示幻灯片(n,否){
var i;
var x=document.getElementsByClassName(slideId[no]);
如果(n>x.length){slideIndex[no]=1}
如果(n<1){slideIndex[no]=x.length}
对于(i=0;i
*{框大小:边框框}
.mySlides{display:none}
img{垂直对齐:中间;}
/*幻灯片容器*/
.slideshow容器{
最大宽度:800px;
位置:相对位置;
}
/*下一步和上一步按钮*/
.prev,.next{
光标:指针;
位置:绝对位置;
最高:4%;
宽度:自动;
填充:16px;
利润上限:-22px;
颜色:白色;
字体大小:粗体;
字号:18px;
过渡:0.6s缓解;
边界半径:0 3px 3px 0;
用户选择:无;
身高:100%;
宽度:49.5%;
}
/*将“下一步按钮”置于右侧*/
.下一个{
右:0;
边界半径:3px 0 3px;
}
/*悬停时,添加灰色背景色*/
.prev:悬停,.next:悬停{
颜色:黑色;
}
多个幻灯片放映
幻灯片1:

上 下一个 幻灯片2:

上 下一个 幻灯片3:

上 下一个
var slideIndex = [1,1,1];
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";  
}