如何修复此代码以显示10秒并一次又一次隐藏10秒?

时间:2016-02-02 01:26:51

标签: javascript jquery html css

如何修复此代码以显示10秒并一次又一次隐藏10秒,但是当访问者访问我的网站时,如果代码在5或3或......秒显示他可以看到代码在5 ose 4或......秒的隐藏中他无法看到。

<div id = "adsdiv">This ad will close in 
<span id = "closingtimer">10</span>
seconds
</div>
<script type="text/javascript">
function closeMyAd() {
    document.getElementById("adsdiv").style.display = "none" ;
}

var seconds = 10;

function display() { 
    seconds --;
    if (seconds < 1) {
        closeMyAd();
    }
    else {
        document.getElementById( "closingtimer" ).innerHTML = seconds ;
        setTimeout("display()", 1000);
    }
}

display();
</script>

此代码仅显示10秒钟并关闭。

2 个答案:

答案 0 :(得分:0)

我会这样做,以便你有一个不断增长的计时器变量。它以秒为单位跟踪当前时间。每次更新(每秒一次)时,将其除以10,然后将modulo运算符应用于结果,以查看它是偶数还是奇数。然后,你有一个循环if语句,比如,如果它是奇数则隐藏它,如果它是偶数则显示它。那会让它每十秒闪一次。

答案 1 :(得分:0)

你可以尝试一下。希望它可以帮助你。

var hidden = true;
function close() {
    document.getElementById("adsdiv").style.display = "none" ;
}
function display() {
    document.getElementById("adsdiv").style.display = "block" ;
}

setInterval(function(){if(hidden) 
  {display();
   hidden = false;
  }else{
  close();
  hidden = true;
  }}, 10000);