0

再会。

我想让脚本在页面加载后 2 秒后开始工作。

为此,我使用脚本:

setTimeout(function() {
    $("#searchbanner").animate( {width: "515"}, 1500 );
}, 2000);​

但不工作...

请告诉我如何正确制作?

4

5 回答 5

4

尝试使用 jQuery 的delay()方法:

$(document).ready(function() {
  $("#searchbanner").delay(2000).animate( {width: "515"}, 1500 );
});

这会在给定时间内延迟后续功能的执行;在这种情况下,它将在运行该.animate()方法之前等待 2000 毫秒。更多信息可以在 jQuery 网站上找到。

编辑:正如其中一条评论所指出的,部分原始问题可能是您setTimeout拨打电话的时间;如果是在页面加载期间,那么给出的时间是相对于脚本运行的时间,而不是页面完成加载的时间。通过使用 jQuery 的.ready()方法,执行将等待整个文档完全加载。

于 2013-08-27T08:31:46.200 回答
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
});
于 2013-08-27T08:37:54.280 回答
0

执行需要 3500 秒

2000 take settimeout 1500 动画回调函数

现在花 2000 秒

   setTimeout(function() {
      $("#searchbanner").animate( {width: "515"} ); }
      , 2000);​

现在需要 1500 秒

  $("#searchbanner").animate( {width: "515"},1500 ); 
于 2013-08-27T08:32:23.030 回答
0

您使用delay的不是 jQuery 方法,而是setTimeoutJavaScript 方法,问题可能出在代码的位置上。如果您不是在等待文档加载而只是尝试执行此操作,那么很多事情可能会出错。比如元素没有被加载,jQuery 没有被加载,例如。

只需将 jQuery 封装在$(document).ready(function() { });

于 2013-08-27T08:32:25.013 回答
-1

试试这个

setTimeout(function() {
  $("#searchbanner").animate( {"width": "515"}, 1500 ) }
  , 2000);​
于 2013-08-27T08:33:30.263 回答