2016-03-08 105 views
1

以前從未這樣做過。我想在加載頁面5秒後加載一個href。5秒鐘後加載

我正在研究一個腳本,但它不工作。

HTML:

<div id="div1"> 
    <a id="single" href="#">Single Play</a> 
    <a id="multi" href="#">Head to Head</a> 
</div> 

JS:

$(window).load(function(){ 
    function ahref(){ 
     $("#div1").show(); 
    }; 
    window.setTimeout(ahref, 5000); // 5 seconds 
}) 

哪兒一出了錯?

+0

在隱藏狀態'#div1'過嗎? – Rayon

+0

什麼是沒有關於它的工作?你有默認隱藏DIV的CSS嗎? – Barmar

+2

它適用於我:https://jsfiddle.net/barmar/08y8vvrn/1/ – Barmar

回答

3

DEMO

$(window).load(function() { 
 
    function ahref() { 
 
    $("#div1").show(); 
 
    }; 
 
    setTimeout(function(){ ahref(); }, 5000); 
 
})
#div1{ 
 
    display:none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="div1"> 
 
    <a id="single" href="#">Single Play</a> 
 
    <a id="multi" href="#">Head to Head</a> 
 
</div>

+2

爲什麼你認爲你需要把'ahref'改成'function(){ahref(); }'? – Barmar

+0

嘿夥計,@RinoRaj,很奇怪,這與jquery 2.0.0不起作用,https://jsfiddle.net/2692sq1v/ – ameenulla0007

+1

這裏有什麼不同,這是什麼OP已聲稱有,除了多餘的包裝在匿名函數中調用'ahref()'? –

2

你的代碼是正確的,只是show()函數可以使用隱藏要素,如果已顯示的元素,它會沒有效果,所以你應該默認使用css類隱藏div例如:

#div{ 
    display:none; 
} 

或JavaScript功能hide() e.g:

$("#div1").hide(); 

然後按照預期的代碼將工作。

希望這會有所幫助。


$(window).load(function(){ 
 
    $("#div1").hide(); 
 
    
 
    function ahref(){ 
 
     $("#div1").show(); 
 
    }; 
 
    window.setTimeout(ahref, 2000); // 2 seconds 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="div1"> 
 
    <a id="single" href="#">Single Play</a> 
 
    <a id="multi" href="#">Head to Head</a> 
 
</div>