再会。
我想让脚本在页面加载后 2 秒后开始工作。
为此,我使用脚本:
setTimeout(function() {
$("#searchbanner").animate( {width: "515"}, 1500 );
}, 2000);
但不工作...
请告诉我如何正确制作?
再会。
我想让脚本在页面加载后 2 秒后开始工作。
为此,我使用脚本:
setTimeout(function() {
$("#searchbanner").animate( {width: "515"}, 1500 );
}, 2000);
但不工作...
请告诉我如何正确制作?
尝试使用 jQuery 的delay()
方法:
$(document).ready(function() {
$("#searchbanner").delay(2000).animate( {width: "515"}, 1500 );
});
这会在给定时间内延迟后续功能的执行;在这种情况下,它将在运行该.animate()
方法之前等待 2000 毫秒。更多信息可以在 jQuery 网站上找到。
编辑:正如其中一条评论所指出的,部分原始问题可能是您setTimeout
拨打电话的时间;如果是在页面加载期间,那么给出的时间是相对于脚本运行的时间,而不是页面完成加载的时间。通过使用 jQuery 的.ready()
方法,执行将等待整个文档完全加载。
您的代码中有两个问题:
如果 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
});
执行需要 3500 秒
2000 take settimeout 1500 动画回调函数
现在花 2000 秒
setTimeout(function() {
$("#searchbanner").animate( {width: "515"} ); }
, 2000);
现在需要 1500 秒
$("#searchbanner").animate( {width: "515"},1500 );
您使用delay
的不是 jQuery 方法,而是setTimeout
JavaScript 方法,问题可能出在代码的位置上。如果您不是在等待文档加载而只是尝试执行此操作,那么很多事情可能会出错。比如元素没有被加载,jQuery 没有被加载,例如。
只需将 jQuery 封装在$(document).ready(function() { });
试试这个
setTimeout(function() {
$("#searchbanner").animate( {"width": "515"}, 1500 ) }
, 2000);