在页面中使用两个轮播

时间:2018-10-21 08:59:18

标签: javascript html

我现在正在设计一个使用html和javascript的网络。我想知道如何在一页中使用两个图像滑块(轮播)。

var myIndex = 0;
carousel();

function carousel() {
    var i;
    var x = document.getElementsByClassName("mySlides");
    for (i = 0; i < x.length; i++) {
       x[i].style.display = "none";  
    }
    myIndex++;
    if (myIndex > x.length) {myIndex = 1}    
    x[myIndex-1].style.display = "block";  
    setTimeout(carousel, 5000);  
}
<table>
  <tr>
    <td>
	<img src="pic1.jpg" class="mySlides" style="width:100%;height:auto;" />
	<img src="pic2.jpg" class="mySlides" style="width:100%;height:auto;" />
	<img src="pic3.jpg" class="mySlides" style="width:100%;height:auto;" />
    </td>
    <td>
      <!--another slider-->
    </td>
  </tr>
</table>

1 个答案:

答案 0 :(得分:0)

您可以通过多种方式进行操作。 这样,按照您编写的代码,只需使用可以在循环中生成的类名即可。例如:

class="slides1"

可以通过以下方式生成:

var i=1
var class_name="slides"
class_name=class_name+i

希望对您有帮助!

var myIndex = 0;
carousel();

function carousel() {
    var caro_sel=1;
  
    for (caro_sel=1;caro_sel<=2;caro_sel++) {
      var i;
      var x = document.getElementsByClassName("mySlides"+caro_sel);
      for (i = 0; i < x.length; i++) {
        x[i].style.display = "none";  
      }
      myIndex++;
      if (myIndex > x.length) {myIndex = 1}    
      x[myIndex-1].style.display = "block"; 
 
      setTimeout(carousel, 5000); 
    } 
}
<table>
  <tr>
    <td>
	  <img src="pic1.jpg" class="mySlides1" style="width:100%;height:auto;" />
	  <img src="pic2.jpg" class="mySlides1" style="width:100%;height:auto;" />
	  <img src="pic3.jpg" class="mySlides1" style="width:100%;height:auto;" />
    </td>
    <td>  
      <img src="pic1.jpg" class="mySlides2" style="width:100%;height:auto;" />
	  <img src="pic2.jpg" class="mySlides2" style="width:100%;height:auto;" />
	  <img src="pic3.jpg" class="mySlides2" style="width:100%;height:auto;" />
    </td>
  </tr>
</table>