Html 从一个图像切换到另一个图像
我正在试图弄清楚如何在500毫秒后从一个图像切换到另一个图像。我目前一直在图像之间切换,但我希望每个图像显示500毫秒,并在500毫秒后使第二个图像消失,而不是让它循环。这就是我现在拥有的:Html 从一个图像切换到另一个图像,html,image,timing,Html,Image,Timing,我正在试图弄清楚如何在500毫秒后从一个图像切换到另一个图像。我目前一直在图像之间切换,但我希望每个图像显示500毫秒,并在500毫秒后使第二个图像消失,而不是让它循环。这就是我现在拥有的: <html> <head> <title>loop</title> <script type = "text/javascript"> function displayNextImage() { x = (x === images.length
<html>
<head>
<title>loop</title>
<script type = "text/javascript">
function displayNextImage() {
x = (x === images.length - 1) ? 0 : x + 1;
document.getElementById("img").src = images[x];
}
function displayPreviousImage() {
x = (x <= 0) ? images.length - 1 : x - 1;
document.getElementById("img").src = images[x];
}
function startTimer() {
setInterval(displayNextImage, 500);
}
var images = [], x = -1;
images[0] = "image1.jpg";
images[1] = "image2.jpg";
</script>
</head>
</html>
<body onload = "startTimer()">
<img id="img" src="image1.jpg">
</body>
</html>
环
函数displayNextImage(){
x=(x==images.length-1)?0:x+1;
document.getElementById(“img”).src=images[x];
}
函数displayPreviousImage(){
x=(x这应该做您希望它做的事情:
<html>
<head>
<title>loop</title>
<script type = "text/javascript">
var images = [];
var x = 0;
var $img = document.getElementById("img");
images[0] = "image1.jpg";
images[1] = "image2.jpg";
function displayNextImage() {
if (++x < images.length) {
$img.src = images[x];
setInterval(displayNextImage, 500);
}
else {
$img.remove();
}
}
function startTimer() {
setInterval(displayNextImage, 500);
}
</script>
</head>
</html>
<body onload = "startTimer()">
<img id="img" src="image1.jpg">
</body>
</html>
环
var图像=[];
var x=0;
var$img=document.getElementById(“img”);
图像[0]=“image1.jpg”;
图像[1]=“image2.jpg”;
函数displayNextImage(){
如果(++x
请重新表述您的问题。您不是问如何切换图像,而是问如何在一段时间内执行X。其中X是“照片更改”(在您非常具体的情况下)你为什么不用CSS动画来做这件事?@Siyah-这不是重点。这不是关于CSS或图像,而是关于他的javascript不起作用。1.你最初定义的x=0
哪里都没有,所以为什么x+1
甚至会起作用..和2.不要使用globals…我知道。我只是问一个问题:)@Eester:现在试试看-我的if
语句中有一个逻辑错误。这是否使用了jquery?它似乎只在我将它放入html和javascript部分并预览它时才起作用,但如果我在网站上运行它,它就不起作用了。我想知道这是否是因为我运行它的网站使用了原型javascript框架。