2011-11-18 74 views
0

我看到另一個關於Stack問題的問題,關於直到它完全加載時才顯示一個頁面。這不完全是我在這裏問的。我想要做的是等待顯示一個表單,直到頁面完全加載。那可能嗎?如果是這樣,怎麼樣?請提供一些示例代碼。謝謝!如何在頁面完成加載之前隱藏HTML元素的集合?

回答

0

你不應該聽我說,做display: none的伎倆。


您需要創建一個JavaScript函數來創建表單並將其注入到頁面中。然後您需要使用domready事件註冊此功能。

http://davidwalsh.name/javascript-domready

實施例功能,創建一個形式並注入它:

var createForm = function() { 
    var form = document.createElement("form"); 

    var textBox = document.createElement("input"); 
    textBox.setAttribute("type", "text"); 
    textBox.setAttribute("name", "someText"); 
    form.appendChild(textBox); 

    var submit = document.createElement("input"); 
    textBox.setAttribute("type", "submit"); 
    textBox.setAttribute("value", "Submit"); 
    form.appendChild(submit); 

    document.getElementById("PUTFORMHERE").appendChild(form); 
}; 

的HTML:

<html> 
    <head /> 
    <body> 
     <div id="PUTFORMHERE" /> 
    </body> 
</html> 
2

可以通過設置顯示實現這一目標:無實際形式和然後使用jquery在頁面加載時顯示它。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
    $('#your_form_id').show(); 
    }); 
</script> 

<form id="your_form_id" style="display:none;"> 
<!-- your content --> 
</form> 
+0

感謝您詳細介紹了克里斯特。還有什麼我需要做的?我是否需要包含或調用jquery?我以前從未使用jquery,所以我不確定。但是我嘗試了你的代碼,它對我沒有用。 –

+0

是的,你將不得不包含jQuery,否則它將無法工作 – Cyclonecode

0

添加到style =「display:none」,然後使用jquery在加載時顯示。 。

像$()負載(函數(){$( '從')顯示();})

0

你也許不使用身體onload屬性和JQuery它。像這樣的東西...

<body onLoad="$('#theform').show()"> 

<form id="theform" style="display:none"> 
<!-- blah blah blah --> 
</form> 

</body> 

希望這會有所幫助。

相關問題