我有一个基本页面,顶部有一个导航栏,还有一个包装器主体。
每当用户单击导航链接时,它都会用于.load将页面内容加载到包装div中。
$(this).ajaxStart(function(){$('.progressbar .bar').css('width','5%');$('.progressbar').fadeIn();});
$(this).ajaxEnd(function(){$('progressbar').hide();});
$('.ajaxspl').on('click',function(e){
e.preventDefault();
var url=$(this).data('url'),
wrap=$('body #wrap');
//clean the wrapper
wrap.slideUp().html('');
//load page into wrapper
wrap.load(url,function(){wrap.slideDown();});
});
来自的返回值示例.load:
...content
$('.progressbar .bar').css('width','30%');
$('.progressbar .bar').css('width','60%');
$('.progressbar .bar').css('width','90%');
//blah blah
如您所见,我在上显示了一个Bootstrap进度条,在ajaxstart()我调用的页面上,加载每个项目后,我都会修改进度条的值。
这在Firefox上效果很好,在等待页面加载时可以看到进度条,但在Chrome或IE上不起作用。
有一个更好的方法吗?我是正确执行此操作还是有其他方法执行此操作?
例如,获取$.ajax以kb为单位的页面大小并在接收到数据时动态更新进度条?
我正在尝试加载Gmail时产生类似于“加载”页面的内容。