JQUERY动画延迟?

时间:2010-07-13 03:21:54

标签: jquery jquery-animate

我正在使用JQUERY动画在页面顶部显示一个横幅,这是一个设置为顶部-60的DIV来隐藏它。我正在使用以下JS调用来显示div:

// Animation
$('#message-dock').animate({
    top: 0
}, 500, function() {
    // Animation complete.
});

我无法弄清楚是因为某种原因在我开始看到div之前有一个不必要的延迟,我无法弄清楚为什么?任何想法?

2 个答案:

答案 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/