如何通过单击按钮浏览图片(如幻灯片)?
How do I go through pictures (like a slide show) just by clicking a button?
我正在学习使用 HTML、CSS 和 Javascript,但我无法使用此代码。我正在制作幻灯片页面,您可以在其中使用按钮浏览幻灯片。
我知道如何使用数组移动到下一张图像以及如何返回上一张图像。但是我应该如何编码前进、后退和暂停按钮呢? (向前和向后应该使幻灯片在一个方向上每 1 秒变化一次)。如果您想知道,我有一个 0.jpg 作为填充物。
到目前为止,这是我的代码:
var count = 0;
var pics = ["0.jpg", "1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg"];
var arrayLength = pics.length;
function slideshow() {
count++;
if (count > arrayLength - 1) {
count = 1;
}
document.getElementById('num').src = pics[count];
}
function Next() {
count++;
if (count > arrayLength - 1) {
count = 1;
}
document.getElementById('num').src = pics[count];
}
function Back() {
count--;
if (count < 1) {
count = arrayLength - 1;
}
document.getElementById('num').src = pics[count];
}
<center>
<h1>Slide Show</h1>
</center>
<center>
<img id="num" src="0.jpg">
</center>
<center>
<input type="button" name=btnBackward value="Backward" onClick="Backward()" />
<input type="button" name=btnBack value="Back" onClick="Back()" />
<input type="button" name=btnPause value="Pause" onClick="Pause()" />
<input type="button" name=btnNext value="Next" onClick="Next()" />
<input type="button" name=btnFoward value="Foward" onClick="Foward()" />
</center>
如果我没理解错的话,你所要做的就是在它们上面设置向前和向后的两个函数。他们将在前后循环执行您的功能。
像这样:
function forward() {
Next();
setTimeout(forward, 1000);
}
function backwards() {
Back();
setTimeout(backwards, 1000);
}
P.S。最好用小写字母写函数名。大写表示 类。最好使用动词。祝你好运:)
在您的代码之后添加这个,它可能会起作用,关键在于 setInterval() 用法。你按下按钮时出错,你到达那里 "Foward()" 而不是 "Forward()"。
Here 是手册。我认为它会以这种方式工作。
var interval = 0;
function Pause() {
if (interval!=0) {
clearInterval(interval);
interval = 0;
}
}
function Forward() {
Pause();
interval = setInterval( function() { Next() }, 2000);
}
function Backward() {
Pause();
interval = setInterval( function() { Back() }, 2000);
}
请使用首字母小写的函数名称,因为它们是 class 个名称。
您应该将 "Back()" 函数(因为没有加载零。)更改为:
function Back() {
count--;
document.getElementById('num').src = pics[count];
if (count < 1) {
count = arrayLength - 1;
}
}
我正在学习使用 HTML、CSS 和 Javascript,但我无法使用此代码。我正在制作幻灯片页面,您可以在其中使用按钮浏览幻灯片。
我知道如何使用数组移动到下一张图像以及如何返回上一张图像。但是我应该如何编码前进、后退和暂停按钮呢? (向前和向后应该使幻灯片在一个方向上每 1 秒变化一次)。如果您想知道,我有一个 0.jpg 作为填充物。
到目前为止,这是我的代码:
var count = 0;
var pics = ["0.jpg", "1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg"];
var arrayLength = pics.length;
function slideshow() {
count++;
if (count > arrayLength - 1) {
count = 1;
}
document.getElementById('num').src = pics[count];
}
function Next() {
count++;
if (count > arrayLength - 1) {
count = 1;
}
document.getElementById('num').src = pics[count];
}
function Back() {
count--;
if (count < 1) {
count = arrayLength - 1;
}
document.getElementById('num').src = pics[count];
}
<center>
<h1>Slide Show</h1>
</center>
<center>
<img id="num" src="0.jpg">
</center>
<center>
<input type="button" name=btnBackward value="Backward" onClick="Backward()" />
<input type="button" name=btnBack value="Back" onClick="Back()" />
<input type="button" name=btnPause value="Pause" onClick="Pause()" />
<input type="button" name=btnNext value="Next" onClick="Next()" />
<input type="button" name=btnFoward value="Foward" onClick="Foward()" />
</center>
如果我没理解错的话,你所要做的就是在它们上面设置向前和向后的两个函数。他们将在前后循环执行您的功能。 像这样:
function forward() {
Next();
setTimeout(forward, 1000);
}
function backwards() {
Back();
setTimeout(backwards, 1000);
}
P.S。最好用小写字母写函数名。大写表示 类。最好使用动词。祝你好运:)
在您的代码之后添加这个,它可能会起作用,关键在于 setInterval() 用法。你按下按钮时出错,你到达那里 "Foward()" 而不是 "Forward()"。 Here 是手册。我认为它会以这种方式工作。
var interval = 0;
function Pause() {
if (interval!=0) {
clearInterval(interval);
interval = 0;
}
}
function Forward() {
Pause();
interval = setInterval( function() { Next() }, 2000);
}
function Backward() {
Pause();
interval = setInterval( function() { Back() }, 2000);
}
请使用首字母小写的函数名称,因为它们是 class 个名称。
您应该将 "Back()" 函数(因为没有加载零。)更改为:
function Back() {
count--;
document.getElementById('num').src = pics[count];
if (count < 1) {
count = arrayLength - 1;
}
}