如何为 Javascript 中的幻灯片同步上一个和下一个按钮?
How Do I Make A Previous and next Button synchronized For A Slideshow In 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。
之后需要分配。
您在计算索引之前输入了document.name.src = images[i];
。您可能希望 在 之后完成。这样图片反映了您的 上一个 按钮单击而不是当前按钮。
我不明白为什么当我点击前进按钮时一切正常。当我单击上一个按钮时,一切正常。但是当我将两者混合时,我认为第一个数字是随机的。
<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。
之后需要分配。
您在计算索引之前输入了document.name.src = images[i];
。您可能希望 在 之后完成。这样图片反映了您的 上一个 按钮单击而不是当前按钮。