.delay无法正常工作

时间:2010-11-07 04:06:01

标签: jquery

我对jQuery比较陌生,所以这可能是初学者的错误,但由于某些原因我无法使.delay()函数起作用。

我正在使用的代码是:

$(document).ready(function() {                     
    $("div#main").css("opacity","0");  
    $("div#main").animate({opacity: 1}.delay(1000), 'slow');  
});

使用“jQuery 1.2.3 - New Wave Javascript”脚本

有谁可以指出我做错了什么?提前谢谢!

2 个答案:

答案 0 :(得分:3)

我看到两个问题。一个是jQuery 1.2.3中没有delay函数。您需要将其作为插件包含或更新到最新版本的jQuery。假设你已经完成了这个,另一个问题是你在普通的JavaScript对象上调用delay,而不是jQuery对象。尝试调用不存在的函数时应该收到错误。所以不要这样:

$("div#main").animate({opacity: 1}.delay(1000), 'slow');

使用此:

$("div#main").delay(1000).animate({opacity: 1}, 'slow');

这将在动画队列中插入一秒延迟,该延迟将在触发不透明度动画之前执行。

答案 1 :(得分:1)

您在此处展示的代码没有任何问题。您是否将整个事物放在文档就绪处理程序中,以便它只在DOM准备好进行操作时执行?

$(document).ready(function(){
    $("div#main").css("opacity","0").delay(1000).animate({opacity: 1}, 'slow');
});

有关代码工作的简单示例,请参阅:http://www.jsfiddle.net/yijiang/cRqwd/


修改:我认为您正在考虑这个问题:http://allforeveryone.blogspot.com/2008/03/jquery-new-wave-javascript.html。如果您没有注意到,那是一个令人难以置信的旧版版本的jQuery,您正在那里工作。 delay()仅在1.4版中引入。转到http://jquery.com下载最新版本。