例を確認してくださいhttp://jsfiddle.net/FuFHe/7/
ボタンをクリックすると、Show Data loader div が表示され、数秒後に非表示になります。コンソール ログでは、qloader div の表示プロパティが block および none に設定されていることを明確に確認できますが、何も起こらず、qloader div は表示されません。
なにが問題ですか?
例を確認してくださいhttp://jsfiddle.net/FuFHe/7/
ボタンをクリックすると、Show Data loader div が表示され、数秒後に非表示になります。コンソール ログでは、qloader div の表示プロパティが block および none に設定されていることを明確に確認できますが、何も起こらず、qloader div は表示されません。
なにが問題ですか?
setTimeout を使用してみてください
$('.btn').on( "click" , function( event ){
$("#loading").show();
setTimeout(function(){
$("#loading").hide();
}, 3000);
});
関数が終了したらsleep()
すぐに関数を呼び出す必要があります。show()
フィドルをチェックアウトします。今すぐ動作するはずです。JSFIDDLE リンク
ただし、@rahul で述べたように、setTimeout()
関数を使用する必要があります。
$("#loading").show(function(){
sleep(3000);
$("#loading").hide();
});
それは良い睡眠方法ではありません。それは CPU を食いつぶし、高速なマシンで 3 秒もかかることに頼ることさえできません。代わりにsetTimeout() を使用します。
setTimeout(function(){
$("#loading").hide();
console.log("qloader display = " + $("#loading").css("display"));
}, 3000);
これにより、時間が経過するのを待っている間、ブラウザと Web サイトは動作し続けることができます。