-1

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

它应该是 dhtml.external.close(); 并在 20 秒后设置超时。谁能帮我这个?


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

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

            });

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

4

1 回答 1

2

假设您的横幅元素有一个 id "banner",可以这样做:

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

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

示范

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

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

示范


编辑 :

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

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);

示范

于 2012-11-09T07:28:22.910 回答