【发布时间】:2010-05-01 23:34:50
【问题描述】:
Nick Craver 在这个线程中的这段代码真的帮了我很多 jQuery - Can someone help stitching jQuery code with .ajaxComplete()?
而且它正在工作。但我注意到,在我单击链接之后和实际加载内容之前,会有一点延迟。加载的内容也不是很密集,所以我认为这与脚本中发生的事情的顺序有关。
原始代码如下所示:
$('.dynload').live('click',
function(){
var toLoad = $(this).attr('href')+' #content';
$('#content').fadeOut('fast',loadContent);
$('#ajaxloader').fadeIn('normal');
function loadContent() {
$('#content').load(toLoad,'',showNewContent())
}
function showNewContent() {
$('#content').fadeIn('fast',hideLoader());
//Cufon.replace('h1, h2, h3, h4, .menuwrapper', { fontFamily:
'advent'});
}
function hideLoader() {
$('#ajaxloader').fadeOut('normal');
}
return false;
});
新代码如下所示:
$(function() {
$('.dynload').live('click', function(){
$('#ajaxloader').fadeIn('fast');
$('#ajaxloaderfridge').fadeIn('fast');
var href = this.href + ' #content';
$('#content').fadeOut('fast',function() {
$(this).load(href,'', function(data) {
createMenus();
$('#ajaxloader').fadeOut('fast');
$('#ajaxloaderfridge').fadeOut('fast');
$('#content').fadeIn('fast');
Cufon.replace('h1, h2, h3, h4, .menuwrapper', { fontFamily: 'advent'});
});
});
return false;
});
});
$(createMenus);
function createMenus() {
$('#kontrollpanel .slidepanels').kwicks({
min : 42,
spacing : 3,
isVertical : true,
sticky : true,
event : 'click'
});
}
在原始代码中,#content 淡出,然后启动函数“loadContent”。 这基本上也是新脚本中发生的事情,不是吗? 当我使用旧代码时,内容只是淡出淡入,非常快速流畅,并且在内容到达之前没有小的暂停延迟。
【问题讨论】:
-
能否麻烦您简要说明一下您想要发生的事情?
-
/img/Footer.png、/img/sprite_tints1.png和/img/testGB.jpg得到 404,这会导致浏览器延迟,您可以修复或删除这些图像吗? -
我尼克 :) 感谢您让我清楚这些问题 :) 我现在已经修复了它们(这是我的图片预加载器:p)但是,它看起来不像不过和我的问题有关系。然而,我确实注意到了 mattbasta 的回复。编辑:这不是一个真正的大问题,只是有点烦人:)
-
@GlenCrawford - 以前,内容淡出和淡出的整个动画似乎快了很多。基本上就是这样。而且它看起来有点奇怪,但我会尝试自己调整一些东西:)
标签: javascript jquery html