如何使HTML5函数在一段时间后关闭脚本?

时间:2012-11-09 07:23:59

标签: javascript html5

我正在用HTML5制作横幅,我需要它在20秒后关闭。

应该是dhtml.external.close();和20秒后的settimeout。谁能帮我这个?


也许有可能以这种方式做某事吗?

 var close = document.createElement('a');
                close.style.display = 'block';
                close.href = "#";
                close.innerHTML = 'CLOSE';
                close.onclick = function() {
                    dhtml.external.close();
                }
                document.body.appendChild(close);

            });

但只是以某种方式设定时间?

1 个答案:

答案 0 :(得分:2)

假设您的banner元素具有ID "banner",可以执行以下操作:

<div id=banner>BANNER !</div>​​​​​​​​​​​​​​​​​​​​​​​​​​​

<script>
document.onload=function(){
  ​setTimeout(function(){
     var banner = document.getElementById('banner');
     banner.parentNode.removeChild(banner);    
  }, 20000);​
};
</script>

Demonstration

请注意,许多库可帮助您在删除时制作最漂亮的动画。例如,jQuery允许你慢慢淡出它:

setTimeout(function(){
   $('#banner').fadeOut(2000);
}, 20000);​

Demonstration


编辑:

从你的评论开始,我可以建议你:

var close = document.createElement('a');
close.style.display = 'block';
close.href = "#";
close.innerHTML = 'CLOSE';
close.onclick = function() {
     dhtml.external.close(); // is that a call to a library ? Is that IE specific ?
}
document.body.appendChild(close);
setTimeout(function(){
    document.body.removeChild(close);
}, 20000);

Demonstration