0

ページから特定の要素を非表示にするユーザー スクリプトを作成しようとしています。問題は、ページが読み込まれてから数秒後まで要素が表示されないことです。そのため、数秒遅れて表示しようとしています。

これは私が持っているコードです:

function hide_stuff()
{
    var e = document.getElementsByClassName("tab");
    if(e) 
        alert("got elements");
    else 
        alert("didn't get elements");
    for( var i = 0; i < e.length; i++){
        if (!e[i].id)
            e[i].style.display = "hidden";
    }
}

setTimeout(hide_stuff(), 5000);

問題は、それがまったく遅れないことです。「要素を取得しました」アラート (デバッグ支援として追加したもの) は、ページが読み込まれるとすぐに発生します。おそらく明らかなことだと確信していますが、何が間違っているのかわかりません。

何か助けはありますか?

4

1 に答える 1

4

変化する

setTimeout(hide_stuff(), 5000);

setTimeout(hide_stuff, 5000);

関数を渡す代わりに、すぐに呼び出していました (そして に渡しundefinedましたsetTimeout)。

于 2013-03-28T14:57:48.203 に答える