【问题标题】:Change image in HTML page every few seconds using Javascript使用 Javascript 每隔几秒更改一次 HTML 页面中的图像
【发布时间】:2016-05-02 11:35:55
【问题描述】:

我有一个页面,我需要有 3 张图片,一张在另一张下面,我需要每 10 秒更改一次(例如:显示图像 1-3,10 秒后显示图像 4-6,之后10 秒显示图像 7-9,...,显示图像 1-3)。

现在,我有一个代码,它只更改 3 个图像中的第一个。我怎样才能让它每 10 秒后一次更改所有 3 张图像?

这是一个 javascript 示例:

<script>
        var links = ["http://www.example.com","http://www.def.com","http://www.ghi.com"];
        var images = ["http://www.example.com/img1.png", "http://www.example.com/img2.png", 
              "http://www.example.com/img3.png", "http://www.example.com/img4.png",
              "http://www.example.com/img5.png", "http://www.example.com/img6.png"
             ];
        var i = 0;
        var renew = setInterval(function(){
            if(links.length == i){
                i = 0;
            }
            else {
            document.getElementById("bannerImage").src = images[i]; 
            document.getElementById("bannerLink").href = links[i]; 
            i+=1;

        }
    },10000);
</script>

HTML 代码:

<a id="bannerLink" href="http://www.example.com" onclick="void window.open(this.href); return false;">
<img id="bannerImage" src="http://www.example.com/img1.png" width="694" height="83" alt="some text">
</a>
<a id="bannerLink" href="http://www.example.com" onclick="void window.open(this.href); return false;">
<img id="bannerImage" src="http://www.example.com/img2.png" width="694" height="83" alt="some text">
</a>
<a id="bannerLink" href="http://www.example.com" onclick="void window.open(this.href); return false;">
<img id="bannerImage" src="http://www.example.com/img3.png" width="694" height="83" alt="some text">
</a>

------------------------------------------ -------------------------------------------------- - - - - - - - - - - - - - - - - - - - 编辑 -------------------------------------------------- -------------------------------------------------- --------------------------------

请看下面的代码。我需要这样的东西:

<head>
<title>Test</title>
    <script>
        var links = ["http://www.example.com","http://www.example.com","http://www.example.com"];
        var images = [  "https://upload.wikimedia.org/wikipedia/commons/a/a9/Example.jpg",
            "https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png",
            "https://upload.wikimedia.org/wikipedia/commons/2/29/Example_image_not_be_used_in_article_namespace.jpg",
            "https://upload.wikimedia.org/wikipedia/commons/c/ce/Example_image.png",
                "https://upload.wikimedia.org/wikipedia/commons/9/90/Contoh.jpg",
                "https://upload.wikimedia.org/wikipedia/commons/e/e2/P%C5%99%C3%ADklad.jpg"
             ];
        var i = 0;
        var renew = setInterval(function(){
            if(links.length == i){
                i = 0;
            }
            else {
            document.getElementById("bannerImage").src = images[i]; 
            document.getElementById("bannerLink").href = links[i]; 
            i+=1;

        }
        },3000);
        </script>
</head>
<a id="bannerLink" href="http://www.example.com" onclick="void window.open(this.href); return false;">
<img id="bannerImage" src="https://upload.wikimedia.org/wikipedia/commons/a/a9/Example.jpg"  alt="some text">
</a></br>
<a id="bannerLink" href="http://www.example.com" onclick="void window.open(this.href); return false;">
<img id="bannerImage" src="https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png" alt="some text">
</a></br>
<a id="bannerLink" href="http://www.example.com" onclick="void window.open(this.href); return false;">
<img id="bannerImage" src="https://upload.wikimedia.org/wikipedia/commons/2/29/Example_image_not_be_used_in_article_namespace.jpg" alt="some text">
</a></br>

</body>

使用上面的代码,只有第一张图片发生了变化,第二张和第三张一直都是一样的,但是我也需要在 10 秒后改变它们(我需要做和我做图片一样的事情1,带有图像 2 和 3)。

【问题讨论】:

  • ID 应该是唯一的...
  • 可能你只设置了一张图片(bannerImage)?正如您上面的代码所暗示的那样?
  • 正如@Victoray 提到的,您必须设置唯一的 ID,如 bannerImage1、bannerImage2 等,因为 javascript 不会在同一页面上使用多个相同的 ID

标签: javascript html css image


【解决方案1】:

这个版本也有链接。试试这个JS FIDDLE

<a id='bannerLink1' href="#"><img src="" id='img1' ></a>
<a id='bannerLink2' href="#"><img src="" id='img2' ></a>
<a id='bannerLink3' href="#"><img src="" id='img3' ></a>

<script>
var images = ["http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG1&w=327&h=420", "http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG2&w=327&h=420", "http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG3&w=327&h=420",
              "http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG4&w=327&h=420", "http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG5&w=327&h=420","http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG6&w=327&h=420","http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG7&w=327&h=420"
             ];

var links = ["http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG1&w=327&h=420", "http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG2&w=327&h=420", "http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG3&w=327&h=420",
              "http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG4&w=327&h=420", "http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG5&w=327&h=420","http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG6&w=327&h=420","http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG7&w=327&h=420"
             ];
var i = 0;
var renew = setInterval(function(){
        if(i==images.length) i=0;
        document.getElementById("img1").src = images[i]; 
        document.getElementById("bannerLink1").href=links[i];
        if(i+1==images.length) i=-1;
        document.getElementById("img2").src = images[i+1];
        document.getElementById("bannerLink2").href=links[i+1];
        if(i+2==images.length) i=-2;
        document.getElementById("img3").src = images[i+2];
        document.getElementById("bannerLink3").href=links[i+2];
        i+=3;


},1000);
</script>

【讨论】:

  • 是的,确实如此!谢谢!还有一个问题:如何添加图片链接,以便通过点击图片将我重定向到我想要的页面?
  • 好的,我也添加了链接。现在就试试。如果您满意,请接受答案.. :)
【解决方案2】:

我设置了 3 秒的间隔并提醒显示不同的图像变化,所以请看一下,可能对你有帮助

<head>
<title>Test</title>
    <script>
    var images = ["img1.png","img2.png","img3.png"];
    function changeImage()
    {
        var i = 0;
        var inter = setInterval(function(){
            if(i < images.length)
            {
                //document.getElementById("bannerImage").src = images[i];
                alert(images[i]);
                i++;
            }
            else
            {
                i = 0;
                //document.getElementById("bannerImage").src = images[i];
                alert(images[i]);
                i++;
            }
        },3000);
    }
    </script>
</head>
<body onload="changeImage()">
</body>

【讨论】:

    【解决方案3】:
    setInterval(function(){
        functions here.
    }, 10000);
    

    更多信息在这里:http://www.w3schools.com/jsref/met_win_setinterval.asp

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-24
      • 2010-12-17
      • 1970-01-01
      • 2011-12-07
      相关资源
      最近更新 更多