Javascript倒计时器改变图像和链接

时间:2016-01-20 18:03:18

标签: javascript countdown

提前道歉,因为这里有点超出我的深度。

我正在尝试在ASP页面上使用JavaScript倒数计时器来执行以下操作 - 在页面加载后每隔60秒,基于图像的链接将在五个图像/链接组合之一之间切换。

我在这里做了一些错误,我找不到问题。它永远不会运行。

提前感谢您的任何帮助。

图像命名如下:

  • 1_AdvoImg.gif 2_AdvoImg.gif 3_AdvoImg.gif 4_AdvoImg.gif 5_AdvoImg.gif

网址如下:

  • linkone.html linktwo.html linkthree.html linkfour.html linkfive.html

封装链接的html是:

<a id='AdvoLink' href='../'><img id='AdvoImg' src='' border="0"></a>

javascript是这样的:

<script language="javascript">
    function startTimer(duration) {
        var timer = duration, seconds, imgprefix, imgname, linkurl;
        imgprefix = 1;

        setInterval(function () {
            seconds = parseInt(timer % 60, 10);

            imgname = imgprefix.concat("_AdvoImg.gif");

            if (imgprefix == 1) {
                linkurl = "linkone.html";
            }

            if (imgprefix == 2) {
                linkurl = "linktwo.html";
            }

            if (imgprefix == 3) {
                linkurl = "linkthree.html";
            }

            if (imgprefix == 4) {
                linkurl = "linkfour.html";
            }

            if (imgprefix == 5) {
                linkurl = "linkfive.html";
            }

            if (--timer <= 0) {
                document.getElementById("AdvoLink").href = "";
                document.getElementById("AdvoImg").src = imgname;
                ++imgprefix;
                timer = duration;
            }
        }, 5);
    }

    window.onload = function () {
        startTimer(60);
    };
</script>

2 个答案:

答案 0 :(得分:0)

你正试图在那里的计时器内建立一个计时器。 尽量保持简单。    你真正需要的只是:

window.onload = function () {
  setInterval(function () {
    //your url changing magic here - without the timer stuff
  }, 60000); 
};

有了这个,你的魔法代码应该每60000毫秒触发=&gt; 60s =&gt; 1分钟。 你实际上可能有点&#34;调试&#34;它通过在循环中使用console.log()来实现。

答案 1 :(得分:0)

不知道你使用的是var秒,所以我把它删除了

编辑停止图像编号超过5,如果循环更改为您需要的任何数字

&#13;
&#13;
function startTimer(duration) {
  
        var timer = duration;var seconds;var imgprefix;var imgname;var linkurl;
        imgprefix = 1;
    
  
   

        setInterval(function() {
      
     
       
            imgname = imgprefix+"_AdvoImg.gif";

            if (imgprefix == 1) {
                linkurl = "linkone.html";
            }

            if (imgprefix == 2) {
                linkurl = "linktwo.html";
            }

            if (imgprefix == 3) {
                linkurl = "linkthree.html";
            }

            if (imgprefix == 4) {
                linkurl = "linkfour.html";
            }

            if (imgprefix == 5) {
                linkurl = "linkfive.html";
            }
document.getElementById("timer").innerHTML=timer;
              timer--;
            if (timer <= 0) {
              
                document.getElementById("AdvoLink").href = linkurl;
                document.getElementById("AdvoImg").src = imgname;
              document.getElementById("result").innerHTML = "image src = "+imgname+" and href = "+linkurl;
                if(imgprefix < 5){++imgprefix;}else{imgprefix =1;}
                timer = duration;
            }
        }, 200//speed up and slow down here, in milliseconds
                   );
    }

    window.onload = function () {
        startTimer(10);
    };
&#13;
<a id='AdvoLink' href='../'><img id='AdvoImg' src='' border="0"></a>
<div id="timer"> </div>
<div id='result'> </div>
&#13;
&#13;
&#13;