-1

コード:

function overlay() {
    el = document.getElementById("overlay");
    el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";
}

function win_open(URL) {
  window.open(URL, "_blank");
}

function link_redirect(linkaddress) {
  // display message
  {
    overlay();

    setTimeout(function() {overlay();
    }, 2000);

    setTimeout(win_open(linkaddress), 2000);
  }

  //return false;
}

問題は、ウィンドウが開きますが、遅延がないことです。私も試しました:

setTimeout(function() {win_open(linkaddress);}, 2000);

しかし、いいえ。

私が達成したいのは、link_redirect(linkaddress)が実行されるとすぐにオーバーレイを表示し、2 秒待機し、オーバーレイを非表示にして、指定された URL からウィンドウを表示すること_blankです。

4

1 に答える 1

3

問題は 2 番目のsetTimeout呼び出しにあります。関数を呼び出して、関数から返された値をコールバックとしてwin_open渡しています。setTimeout

あなたが必要

function link_redirect(linkaddress) {
    overlay();

    setTimeout(function() {
        overlay();
        win_open(linkaddress)
    }, 2000);
    //return false;
}
于 2013-07-17T08:37:58.300 に答える