我对jQuery比较陌生,所以这可能是一个初学者的错误,但由于某些原因,我不能让.delay()
函数工作。
我使用的代码是:
$(document).ready(function() {
$("div#main").css("opacity","0");
$("div#main").animate({opacity: 1}.delay(1000), 'slow');
});
使用"jQuery 1.2.3 -新浪潮Javascript“脚本
谁能指出我做错了什么?提前感谢!
发布于 2010-11-07 12:41:15
我看到了两个问题。一个是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');
这会在动画队列中插入一秒钟的延迟,该延迟将在触发不透明度动画之前执行。
发布于 2010-11-07 12:14:24
您在此处显示的代码没有任何错误。您是否将整个过程放在一个文档就绪处理程序中,以便只有在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下载最新版本。
https://stackoverflow.com/questions/4116439
复制相似问题