2

例を確認してくださいhttp://jsfiddle.net/FuFHe/7/

ボタンをクリックすると、Show Data loader div が表示され、数秒後に非表示になります。コンソール ログでは、qloader div の表示プロパティが block および none に設定されていることを明確に確認できますが、何も起こらず、qloader div は表示されません。

なにが問題ですか?

4

4 に答える 4

2

なぜ使うのsleepsetTimeout

setTimeout(function(){
        $("#loading").hide();},3000);

ライブデモ

于 2012-08-31T13:19:05.203 に答える
0

setTimeout を使用してみてください

$('.btn').on( "click" , function( event ){
 $("#loading").show(); 
    setTimeout(function(){
       $("#loading").hide();
    }, 3000);

});  

jsフィドル

于 2012-08-31T13:22:14.717 に答える
0

関数が終了したらsleep()すぐに関数を呼び出す必要があります。show()フィドルをチェックアウトします。今すぐ動作するはずです。JSFIDDLE リンク

ただし、@rahul で述べたように、setTimeout()関数を使用する必要があります。

$("#loading").show(function(){
    sleep(3000);
    $("#loading").hide();
});
于 2012-08-31T13:18:34.160 に答える
0

それは良い睡眠方法ではありません。それは CPU を食いつぶし、高速なマシンで 3 秒もかかることに頼ることさえできません。代わりにsetTimeout() を使用します

setTimeout(function(){
    $("#loading").hide();     
    console.log("qloader display = " + $("#loading").css("display")); 
}, 3000);

これにより、時間が経過するのを待っている間、ブラウザと Web サイトは動作し続けることができます。

于 2012-08-31T13:19:03.020 に答える