我正在使用JQUERY动画在页面顶部显示一个横幅,这是一个设置为顶部-60的DIV来隐藏它。我正在使用以下JS调用来显示div:
// Animation
$('#message-dock').animate({
top: 0
}, 500, function() {
// Animation complete.
});
我无法弄清楚是因为某种原因在我开始看到div之前有一个不必要的延迟,我无法弄清楚为什么?任何想法?
答案 0 :(得分:1)
为什么不将div的css设置为display:none;
,然后在想要显示时使用$("#message-dock").show('slow');
?没有'慢'或'快'也可以。
答案 1 :(得分:0)
我同意Scott的意见,你的延迟与脚本的运行时间有关。如果您没有等待就绪状态,我会将脚本直接放在html#message-dock元素下;但是,如果您在其他脚本运行时尝试设置动画,则“不会”是一个干净的动画。使用CDN下载jquery.js http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js将jquery.js下载到动画#message-dock的脚本之前......它将导致jquery在html之前下载,因此内容分发网络(CDN)是最佳方式去。
当其他脚本运行时会发生什么:动画开始,在其他所有内容都下载之前...另一个脚本正在运行,需要一些时间,直到它完成阻止动画平滑...动画检查以查看far down确定顶部为零并且显示它没有任何动画 - 只是延迟出现。
要了解您的网页下载方式,您可以使用http://www.webpagetest.org/