Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 从一个图像切换到另一个图像_Html_Image_Timing - Fatal编程技术网

Html 从一个图像切换到另一个图像

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

我正在试图弄清楚如何在500毫秒后从一个图像切换到另一个图像。我目前一直在图像之间切换,但我希望每个图像显示500毫秒,并在500毫秒后使第二个图像消失,而不是让它循环。这就是我现在拥有的:

<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框架。