我对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”脚本
有谁可以指出我做错了什么?提前谢谢!
答案 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下载最新版本。