javascript - 如何在Javascript中为幻灯片同步上一个和下一个按钮?
问题描述
我不明白为什么当我单击前进按钮时一切正常。当我单击上一个按钮时,一切正常。但是当我将两者混合时,我认为第一个数字是随机的。
<body>
<button id="back"> < </button>
<img name="name" width="400px"; height="500px;">
<button id="forward"> ></button>
<script>
var i = 0; //starting point
var images = ["image1.png", "image2.png", "image3.png"];
var forward = document.getElementById("forward");
var back = document.getElementById("back");
function next(){
document.name.src = images[i];
if(i < images.length - 1){
i++;
}else i = 0;
}
function before(){
document.name.src = images[i];
if(i == 0){
i = images.length-1;
} else{
i--;
}
}
forward.onclick = function(){ next()};
back.onclick = function(){before()};
</script>
</body>
解决方案
您在更改之前i
分配新值。
使用您当前的逻辑,如果您从按 > 开始,它将显示图像 0 并将计数器设置为 1。然后无论您按下哪个按钮,它都会在更改值之前显示图像 1。
您需要在之后分配它。
推荐阅读
- c# - Xamarin 注册为助手
- angular - Angular 6 + Kendo UI - 网格数据未正确显示
- magento - 无法获取当前邮政编码
- java - 如何使用 Selenium Webdriver 和 Java 编写定位器以单击 img?
- c# - c# Interop Word Rows.AllowBreakAcrossPages
- sql - 在 SSAS 中创建角色
- visual-studio - Visual Studio 未检测到名为 3P 的环境变量。是因为不可能吗?
- javascript - 做一个链接或
- pip - 脆弱的控制台脚本:pkg_resources.DistributionNotFound
- linux-kernel - 内核模块在构建为模块时未向内核注册,但如果内置它可以工作