2012-05-18 53 views
1

我有一張圖像,需要在顯示特定間隔後隱藏圖像。我爲它編寫了下面的代碼。特定時間後隱藏圖像

<!DOCTYPE HTML> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>Untitled Document</title> 
<script src="./1_files/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
$('div').delay(2000).show(0); 
$('hide').delay(3000).hide(0);​ 
}); 
</script> 
</head> 

<body> 
<img id="hide" src="9.png" width="29" height="39"> 
</body> 
</html> 

圖像沒有隱藏。它不斷顯示。任何想法爲什麼?提前致謝。

+0

也許是因爲選擇應該是'#hide'? – lonesomeday

+0

仍然不起作用 –

回答

4

在jQuery的1.7,它工作得很好,我這個微小的修正/變更:

$("#hide").delay(3000).hide(1);​ 

我做了兩個變化是:

  1. 通過添加#
  2. 解決您的選擇
  3. 將一個較小的時間值添加到.hide(1),將其轉化爲可與.delay()一起使用的動畫。

你可以看到它在這裏工作:http://jsfiddle.net/jfriend00/NGW8p/

+0

我試着在我的電腦上,沒有在那裏工作。 –

+0

看一看:http://apptec.net/test2 –

+0

@ www.AppTec.net - 查看你的錯誤控制檯。你有一個語法錯誤,所以你的JavaScript甚至沒有執行。如果您的腳本將在文檔加載之前運行(它在您的頁面中),您還需要使用'$(document).ready()'。而且,沒有理由使用你正在使用的自動執行功能。這隻有在你想要限制範圍時纔有用。 – jfriend00

2

這應該是問題

http://api.jquery.com/delay/

「添加到jQuery的1.4版本中,.delay()方法允許我們推遲它後面的隊列功能的執行,它可以是與標準效果隊列或自定義隊列一起使用,只有隊列中的後續事件被延遲;例如,這不會延遲不使用效果隊列的.show()或.hide()的無參數形式。 「

+0

它的任何修復? –

+0

看看jfriend00的答案,它似乎與那些參數 – porfiriopartida