我正在使用 jquery ui 对话框让用户知道他的请求正在进行中,而客户端正在处理一些数据。但是,众所周知,ie 的处理时间要比 firefox 长得多。确保进度对话框至少显示最少时间的最佳模式是什么,所以它不只是在 Firefox 中闪烁,而且即使计时器到期,对话框也会一直保持到浏览器完成加工?
问问题
1502 次
1 回答
3
您可以通过几种方式解决它,尽管它们本质上都是排队的一些衍生物。
例如:
$("#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();
});
});
无论如何,您真正要做的就是使用内置队列系统确保给定的延迟。您也可以在不使用队列系统的情况下完成它,但这是另一个示例。
于 2010-02-23T21:29:28.693 回答