-3

ダイアログボックスをポップアップしたいのですが、5秒後にページを google.com にリダイレクトさせたいと思っています。したがって、遅延関数が必要ですが、settimeout() は機能しません。これがコードです。リダイレクトの前に5秒遅らせるにはどうすればよいですか...ちなみに、誰かのjavascriptコードを使用して表示していますが、これは完全に機能します。

<a href="javascript:showDialog('Error','You have encountered a critical error.','error',10);setTimeout(window.location.href ='http://google.com', 5000);">Error</a>
4

2 に答える 2

2

setTimeout動作しますが、正しく使用されていません。次のようなことを試してください:

JavaScript

function clickHandle() {
   showDialog('Error','You have encountered a critical error.','error',10);
   setTimeout(function () {
      window.location.href ='http://google.com';
   }, 5000);
}

HTML

<a href="clickHandle()">Error</a>

の最初の引数はsetTimeout実行されるコード (たとえば、評価される文字列) ですがeval、代わりにコールバックを回避して使用することをお勧めします (私の例のように)。

クリック ハンドラーを HTML に直接配置することはあまりお勧めできません。onclickたとえば、使用することをお勧めします。

于 2013-02-17T10:28:26.260 に答える
1

リダイレクトを関数に配置する必要があります

setTimeout(function(){
    window.location.href ='http://google.com';
}, 5000);
于 2013-02-17T10:30:53.783 に答える