倒计时结束时显示另一面

时间:2014-12-03 08:16:36

标签: javascript

嗨,我是编程新手,我不能让我的代码正常工作,所以请帮助我。

如果计数器达到零(过期),当计数器倒计时到另一个日期时,我想通过iframe显示一侧。

这是我的代码:

    <script language="javascript" type="text/javascript" src="counter.js"></script>
<div id="countdown"></div>
<iframe id="site" src="http://google.com" width="90%" height="400" name="Site">
  <p>Your Browser doesn't support iframe: Please click <a href="http://google.com">here</a></p>
</iframe>
<script>
var test = document.getElementById("countdown");

if (test = "Expired") {
    return;
}
else {
    document.getElementById("site").src = "http://youtube.com";
    document.getElementById("site").herf = "http://youtube.com";
}
</script>

counter.js工作正常,但第二个脚本没有。即使计数器正在运行,它也会跳到过期。

2 个答案:

答案 0 :(得分:0)

  1. 使用=====来比较值。 test = 'Expired'是赋值表达式,它在赋值后返回赋值。所以if语句实际上是if("Expired"),而字符串"Expired"是一个真值,最后它变成if(true),检查总是转到return。应该是:if(test == 'Expired')

  2. 我没有使用counter.js,但在test = document.getElementById("countdown")中,变量testnull或DOM元素对象,如果永远不等于字符串“过期”。您可能需要查看counter.js的文档,以找到lib的正确用法。也许是(我猜)test.innerHTML === "Expired"

答案 1 :(得分:0)

检查一下:

jsFiddle版本:http://jsfiddle.net/c87j2drr/

代码:

<强> HTML:

<div id="countdown"></div>
<iframe id="site" src="http://onet.com" width="90%" height="400" name="Site">
    <p>Your Browser doesn't support iframe: Please click <a href="http://onet.com">here</a></p>
</iframe>

Javascript(您的功能):

function countingEnd() {
     document.getElementById('countdown').innerHTML = 'Expired';
     document.getElementById("site").src = "http://wp.pl";
}

Javascript(修改后的点钞代码):

var end = new Date('12/03/2014 10:14 AM');

var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour * 24;
var timer;

function showRemaining() {
    var now = new Date();
    var distance = end - now;

     if (distance < 0) {
        clearInterval(timer);

        countingEnd();

        return;
     }

    var days = Math.floor(distance / _day);
    var hours = Math.floor((distance % _day) / _hour);
    var minutes = Math.floor((distance % _hour) / _minute);
    var seconds = Math.floor((distance % _minute) / _second);

    document.getElementById('countdown').innerHTML = days + 'days ';
    document.getElementById('countdown').innerHTML += hours + 'hrs ';
    document.getElementById('countdown').innerHTML += minutes + 'mins ';
    document.getElementById('countdown').innerHTML += seconds + 'secs';
}

timer = setInterval(showRemaining, 1000);