【问题标题】:jquery: delay() + window.location?jquery:延迟()+ window.location?
【发布时间】:2010-11-08 14:25:11
【问题描述】:

我知道我们可以使用下面的纯 javascript 轻松延迟 url 重定向,

setTimeout(function(){ document.location = 'http://stackoverflow.com/';}, 2000 ); 

如果我想使用jQuerydelay()怎么办?

$(window.location).delay(4000).attr('href', 'http://stackoverflow.com/');// fail to work!

有什么想法吗?

谢谢。

【问题讨论】:

    标签: jquery location redirect delay


    【解决方案1】:

    简单的答案:不要使用.delay() 或尝试使用,这是一种获取你所追求的东西的迂回非常荒谬的方式,因为它是just calling setTimeout() underneath

    它根本不是为此而设计的(它是用于排队,然后主要用于动画),并且您正在尝试在 $() 包装器中使用该位置(即 试图将其用作选择器),这也是错误的。

    使用 jQuery(或任何其他抽象层,任何语言)在有意义的时候这样做,在这里绝对没有意义,使用setTimeout(),省去你的困惑和客户端CPU 成本。

    【讨论】:

      【解决方案2】:

      这里的问题不是延迟。 $(window.location).attr('href','http://stackoverflow.com/') 也不起作用,因为 href 根本不是 window.location 的 属性,因为 window.location 根本不是 DOM 节点。

      【讨论】:

      • @Nick 没有那么多问题...如果有一个jQuery函数分配给window.location.href,将它放入动画链中是完全有效的。
      • 这不是一个有效的选择器,它不是一个 DOM 元素,这不是一个属性,.delay() 不适用于非队列函数,这只是一个整体糟糕的处理方式它...是的,这里还有更多问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-20
      • 2012-05-10
      • 2011-09-15
      • 2011-09-11
      • 2012-07-08
      • 2021-12-02
      相关资源
      最近更新 更多