javascript - 在一个页面中使用两个轮播
问题描述
我现在正在设计一个网络使用 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>
解决方案
你可以通过很多方式做到这一点。这样,按照您编写的代码,只需使用可以在循环中生成的类名。例如:
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>
推荐阅读
- excel - 在 Excel 中获取 HTTP GET 响应和现有电子表格数据的更新
- c++ - 成员函数调用在 Qt 函数“运行”中不起作用。如何在“运行”中正确使用我的模板?
- python - 避免覆盖现有文件
- r - 重构数据框
- nginx - Nginx - 反向代理 - 404
- svg - 我需要一种更好的方法来使用 SVG 路径绘制字母
- azure-pipelines - 如何从 Azure Pipelines 表达式访问机密值?
- javascript - 将 javascript 循环转换为异步和函数式
- amazon-web-services - 在同一个 AWS EC2 实例上提供多个 Python 应用程序
- java - 在 Java 中迭代 2 个地图