2013-09-25 26 views
0

注意:我不是開發人員。更多的愛好者(閱讀n00b)。 我已經嘗試搜索這個答案,但到目前爲止還沒有找到任何提供這個特定場景的答案。在不同頁面元素上運行多個settimeout或showit函數

我知道這是比較基本的,但是,我試圖創建一個頁面,其中有三個隱藏的元素在延時或鼠標點擊後顯示。我正在努力的是讓所有三個元素在同一頁面上運行。

Required:
Element 1: Hidden image to be revealed 10 seconds after page load
Element 2: Hidden div to be revealed 10 minutes after page load
Element 3: Button image inside element 2, when clicked reveals another hidden div

我使用下面的setTimeout功能揭密元素1,但我不能得到第二次的setTimeout命令在此之後運行。

<script language="javascript" type="text/javascript"> 
var pop=10; 
function showIt() { 
document.getElementById("hid").style.display = "block"; 
} 
setTimeout(showIt, 10000); 
</script> 

我試着重複第二個元素的元素ID更改爲「hid2」,但它不會運行的代碼。我是否需要使用cleartimeout函數來結束第一個settimeout?

然後我需要件3的一些代碼件2

獲取JS的所有三個位很好地一起玩後用鼠標點擊運行似乎是超越我。 您的幫助將不勝感激!

回答

0

我相信這是你要求的。

<img id="hid" src="img/darkred.jpg" style="width: 20px; display: none;"/> 
<div id="hid2" style="display: none;">div 2 
    <input type="button" value="show div3"/> 
</div> 
<div id="hid3" style="display: none;">div 3</div> 


function showIt(hid) { 
    document.getElementById(hid).style.display = "block"; 
} 

function revealEl(id, delay){ 
    setTimeout(function(){ 
     showIt(id); 
    }, delay); 
} 

revealEl("hid", 4000); 
revealEl("hid2", 6000); 

$("#hid2 input"").on("click", function(){ 
    showIt("hid3"); 
}); 
+0

感謝@jEremyB於$( 「#hid2輸入」 「)是$(」 #hid2輸入「)測試中的jsfiddle,我就不能得到DIV 3單擊該按鈕時,HTTP顯示:/? /jsfiddle.net/n26qN。任何想法? – Stuckster

+0

該選擇器可能需要更改以匹配您的html。嘗試添加一個id到您想用來顯示div 3的按鈕。例如,id =「showDiv3」,然後更改選擇器到$(「#showDiv3」)。獨立測試選擇器,以確保它與預期的目標匹配。 – jEremyB

+0

再次感謝。我試圖做你的建議,但不能得到它的工作。請你檢查我的代碼並可能調整它使其運行?http://jsfiddle.net/n26qN/1/對不起,我的n00b-ness。 – Stuckster

相關問題