当使用带有fadeIn和fadeOut的动画滚动顶部时,我遇到了这个可怕的故障(有点跳跃或闪烁)。我有一个动态加载内容的Div。当用户单击主页面上的菜单按钮时,页面应滚动到顶部,然后开始淡出div,然后用它的新内容更新div,然后淡入。
它的工作时间很短,但另一半却出了问题。我尝试过firefox,chrome和opera,它们都有相同的行为。
function loadPage(url)
{
$("html, body").animate({ scrollTop: 0}, 500);
setTimeout(function (){ $('#centerBox').load(url); }, 1000);
$('#centerBox').fadeOut(1000);
$('#centerBox').fadeIn(1500);
}
代码说明: 因此,单击菜单按钮时将调用上述函数。主页面将滚动到顶部。 div的内容有一个计时器,以便在fadeout完全完成后更改内容,但在足够的时间内更改为fadein做好准备。
我使用以下方法调用loadPage(url)函数:
<a href="#" onclick="loadPage('news.html');"><img src="buttons/newsWhite.png"/></a>
答案 0 :(得分:1)
请尝试将其更改为:
function loadPage(url)
{
$("html, body").animate({ scrollTop: 0}, 500, function(){
$('#centerBox').fadeOut(1000, function(){
$('#centerBox').load(url, function(){
$('#centerBox').fadeIn(1500);
});
});
});
}
在fadeOut动画完成之前,这不会加载网址。
答案 1 :(得分:0)
我似乎在这里解决了我的问题。
$(document).ready(function(){
$('#news').click(function(){
$("html, body").animate({ scrollTop: 0}, 500, function(){
$('#all').fadeOut(1000, function(){
$('#centerBox').load('news.html', function(){
$('#all').fadeIn(1500);
});
});
});
return false;
});
});
然后我使用:
来调用它 <a href="#" id="news");"><img src="buttons/newsWhite.png" width="130" height="25"/></a>
我是JavaScript和JQuery的新手(您可能已经知道了),您认为它可能与不使用document.ready()有关吗?