设想一个场景,你需要做一个非常耗时的计算模块,在计算的过程中弹出提示框提示用户正在计算请稍候,做完以后提示框自动消失。这个函数如下:
function showLoading(message, callback) {
var msg = $("<div/>").css({
position : 'absolute',
'background-color': '#ffffff',
'border-width': '1px',
'border-style': 'solid',
'font-size': '14px',
display : 'none',
'z-index' : 1000,
padding: 10
}).html(message).appendTo("body");
var top = ($(window).height() / 2 - msg.height()) / 2;
var left = ($(window).width() - msg.width()) / 2;
var scrollTop = $(document).scrollTop();
var scrollLeft = $(document).scrollLeft();
msg.css({
top : top + scrollTop,
left : left + scrollLeft
}).fadeIn("fast", function() {
callback();
msg.fadeOut("fast", function() {
msg.remove();
});
});
return msg;
}
使用这个函数的例子如下:
showLoading("正在计算,请稍候...", function() {
//非常耗时的计算模块
.....
});