请查看示例http://jsfiddle.net/FuFHe/7/
当我单击按钮 Show Data loader 时,应该显示 div 并在几秒钟后隐藏。在控制台日志中,您可以清楚地看到 qloader div 的 display 属性设置为 block 和 none,但没有任何反应,qloader div 永远不会显示。
怎么了?
请查看示例http://jsfiddle.net/FuFHe/7/
当我单击按钮 Show Data loader 时,应该显示 div 并在几秒钟后隐藏。在控制台日志中,您可以清楚地看到 qloader div 的 display 属性设置为 block 和 none,但没有任何反应,qloader div 永远不会显示。
怎么了?
您需要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);
这将允许浏览器和您的网站在您等待时间过去时继续运行。
尝试使用 setTimeout
$('.btn').on( "click" , function( event ){
$("#loading").show();
setTimeout(function(){
$("#loading").hide();
}, 3000);
});