jquery: delay () + window.location? - PullRequest
       15

jquery: delay () + window.location?

2 голосов
/ 08 ноября 2010

Я знаю, что мы можем легко отложить перенаправление URL с помощью простого javascript ниже,

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

, что если я хочу использовать jQuery s delay()?

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

Есть идеи?

спасибо.

Ответы [ 2 ]

8 голосов
/ 08 ноября 2010

Простой ответ: не используйте .delay() или пытайтесь, это действительно бессмысленный способ получить то, что вы ищете, так как это просто звонит setTimeout() под .

Он вообще не был предназначен для этого (это для очередей, а затем в основном для анимации), и вы пытаетесьиспользовать местоположение в оболочке $() (которая пытается использовать его в качестве селектора), что также неправильно.

Использовать jQuery (или любой другойдругой уровень абстракции, на любом языке) когда это имеет смысл сделать , здесь определенно не имеет смысла, используйте setTimeout(), избавьте себя от путаницы и клиентских затрат ЦП.

1 голос
/ 08 ноября 2010

Проблема здесь не в задержке. $(window.location).attr('href','http://stackoverflow.com/') тоже не будет работать, потому что href просто не является атрибутом для window.location, потому что window.location вообще не является узлом DOM.

...