2010-07-13 119 views
0

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

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

我想不通的是由于某种原因出现不必要的延迟之前,我开始看到div和我想不通为什么?有任何想法吗?

+1

不必要的延迟?时间0是?你能给更多的上下文吗?这种动画效果是否应该发生以响应事件?在ajax电话之后?或一旦页面加载? – 2010-07-13 03:29:58

回答

1

为什么不直接将div的css设置为display:none;,然后在要显示它时使用$("#message-dock").show('slow');?没有“缓慢”或“快速”的作品。

0

我与斯科特的协议是,你的延迟相关,当脚本正在跑去。如果你没有等待就绪状态,我会直接在html#message-dock元素下面放置脚本;但是,如果您尝试在其他脚本运行时设置动画,则“不会”成为干净的动画。使用CDN是动画#消息码头脚本之前下载的jquery.js http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js地方的jquery.js ...这将导致jQuery来的HTML之前下载这样一个内容分发网络(CDN)是最好的一段路要走。

当其他脚本运行时,可能会发生什么:动画开始,一切已经下载之前......另一个脚本运行,这需要一些时间,直到它完成阻止被顺利动画...动画检查,看多少下来决定顶部在零,并显示它没有任何动画 - 只是一个延迟的外观。

要了解您的网页如何下载,您可以使用http://www.webpagetest.org/