2010-03-04 67 views
2

我知道在jQuery 1.4.x中有一個方法delay()。我們可以這樣使用它:如何更改<title>延遲?

$('#block').slideUp().delay(2000).slideDown(); 

它很好用。但我想修改document.title,但這種結構並不工作:

$('title').html('New title 1').delay(2000).html('New title 2'); 

當你運行該代碼標題是New title 2避免任何延誤。如何解決它?

+0

請不要污衊你的問題。 – Louis 2014-11-03 01:35:03

回答

4

使用回調與setTimeout

$('title').html('New title 1'); 

window.setTimeout(function() { 
    $('title').html('New title 2'); 
}, 2000); 

$.fn.delay把一個延遲的動畫隊列。它不會延遲正在運行的腳本。

1

如果你想使用.delay().queue(),你可以這樣做:

$('title').html('New title 1').delay(2000) 
      .queue(function() { $(this).html('New title 2'); }); 

雖然setTimeout像一個陌生人擁有似乎是在這種情況下,更簡單。

0

不要忘記打電話給$(this).dequeue(),如果你打算使用Nick Cravers方法,否則你的隊列會阻止所有其他人。


$(this).val("newTitle1") 
     .effect("pulsate", { times: 3 }, "slow") 
    .delay(1000) 
    .queue(function() { 
     $(this).val("newtitle 2") 
      .effect("pulsate", {times: 1}, "slow"); 
     $(this).dequeue(); //dont forget to do this 
       });