-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 に答える