确保jquery进度对话框至少显示一段最短时间
我使用jQueryUI对话框让用户知道,当客户端处理一些数据时,他的请求正在进行中。然而,正如大家所知,ie的处理时间要比firefox长得多。确保进度对话框至少在最短时间内显示,这样它就不会在firefox中闪烁,而且即使计时器过期,对话框也会一直显示到浏览器完成处理为止,最好的模式是什么,虽然它们本质上都做了排队的一些衍生 例如:确保jquery进度对话框至少显示一段最短时间,jquery,timer,jquery-ui-dialog,progress,Jquery,Timer,Jquery Ui Dialog,Progress,我使用jQueryUI对话框让用户知道,当客户端处理一些数据时,他的请求正在进行中。然而,正如大家所知,ie的处理时间要比firefox长得多。确保进度对话框至少在最短时间内显示,这样它就不会在firefox中闪烁,而且即使计时器过期,对话框也会一直显示到浏览器完成处理为止,最好的模式是什么,虽然它们本质上都做了排队的一些衍生 例如: $("#startLink").click(function(){ var $dialog = $(".dialog"); $dialog.dia
$("#startLink").click(function(){
var $dialog = $(".dialog");
$dialog.dialog({
open: function(e, ui){
// delay any close operations for at least 2 seconds
$dialog.queue(function(){
setTimeout(function(){
$dialog.dequeue();
}, 2000);
});
// if you're using jQuery 1.4, you can do this instead
// $dialog.delay(2000);
}
});
// do some processing here
$dialog.queue(function(){
$dialog.dialog('close');
$dialog.dequeue();
});
});
无论如何,您真正要做的就是使用内置队列系统确保给定的延迟。你也可以不用排队系统来完成,但这是另一个例子。Great answer@BBonifield!很好地使用了最佳实践!