美好的一天。
我希望在页面加载后2秒钟后脚本开始工作。
为此我使用脚本:
setTimeout(function() {
$("#searchbanner").animate( {width: "515"}, 1500 );
}, 2000);
但没有工作......
请告诉我,如何正确制作?
答案 0 :(得分:4)
尝试使用jQuery的delay()
方法:
$(document).ready(function() {
$("#searchbanner").delay(2000).animate( {width: "515"}, 1500 );
});
这延迟了在给定时间内执行后续功能;在这种情况下,它将在运行.animate()
方法之前等待2000毫秒。可以找到更多信息on the jQuery site。
编辑:正如其中一条评论所述,原始问题的一部分可能是您运行setTimeout
电话的时间;如果是在加载页面期间,则给定的时间是相对于脚本运行的时间,而不是页面完成加载时的时间。通过使用jQuery的.ready()
方法,执行会一直等到整个文档被完全加载。
答案 1 :(得分:1)
您的代码中存在两个问题:
如果两秒后没有加载DOM,超时指定选择器不起作用,为了解决这个问题,您可以使用与jQuery(function($) {})
相同的jQuery(document).ready(function() {})
宽度值是一个字符串尝试将其更改为数字或将像素添加到结尾:
jQuery(function($) { // <-- This makes local $ === jQuery no matter what.
setTimeout(function() {
$("#searchbanner").animate({width: 515}, 1500);
}, 2000); // ^ See changed it to a number
});
答案 2 :(得分:0)
执行
需要3500秒2000采取settimeout 1500动画回调功能
现在需要2000秒
setTimeout(function() {
$("#searchbanner").animate( {width: "515"} ); }
, 2000);
现在需要1500秒
$("#searchbanner").animate( {width: "515"},1500 );
答案 3 :(得分:0)
您没有使用delay
,jQuery方法,但setTimeout
,JavaScript方法,问题可能在于代码的放置。如果你不是在等待文档加载而只是试图执行它,那么很多事情都可能出错。例如,没有加载的元素,jQuery没有加载,例如。
只需将jQuery封装在$(document).ready(function() { });
答案 4 :(得分:-1)
试试这个
setTimeout(function() {
$("#searchbanner").animate( {"width": "515"}, 1500 ) }
, 2000);