2013-03-11 114 views
0

我有和AndyHin一樣的問題(CSS HTML - DIV height fill remaining space),但是當侯賽因說的時候看不到插入javascript的位置。我必須承認,我在js中寫作很新。在哪裏可以插入此javascript?

我已經試過將它包含在下面的頭標籤之間,我也嘗試將它插入到jquery中沒有用。

<head> 

<script> 

Hussein's answer 

</script> 

</head> 
+0

侯賽因的回答應該代表什麼? – 2013-03-11 13:57:28

+0

啊哈,現在我明白了。那傢伙使用jQuery,你也必須插入jQuery。 – 2013-03-11 13:58:35

+1

添加此:之前。也可以像斯蒂芬和安東尼告訴你一樣準備好。 – 2013-03-11 14:02:18

回答

2

它依賴於頁面上的元素,所以你需要在腳本執行被延遲,直到DOM完成正在建設中(所以以後所需元素實際上可以被選擇)。你有兩個選擇:

  1. 放置在HTML文檔的正文末尾的<script>標籤:

    <script> 
        // code here 
    </script> 
    </body> 
    
  2. 放置<head>標籤內的<script>標籤(或任何地方內<body>因爲它實際上並不重要),並使用DOM ready事件處理程序:

    <script> 
    $(document).ready(function() { 
        // code here 
    }); 
    </script> 
    
1

的結束標記(</body>(最佳解決方案),或wrapp前右腳本的所有代碼

$(function() { Hussein's answer }); 

如果你沒有在最後添加腳本或者使用$(document).ready(),代碼在dom準備好之前就被執行了,因此你的javascript找到了dom元素,並且什麼都不做(在最好的情況下)!

下面是一篇關於$(function() {})(的$(document).ready()縮寫形式)

+0

是的,把它放在身體標籤之前是最好的解決方案(我的激光的第一聲,甚至在突出它之前)。頁面加載速度更快,因爲它可以在解釋JavaScript之前顯示html元素。 – Stefan 2013-03-11 15:44:11

+0

好點,我更新了我的愛人。謝謝 – Stefan 2013-03-11 16:44:15

0

添加在頭部以下參考

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 

您可以在頁面上的任何位置插入。

<script> 

$(document).ready(function(){ 
    var one = $('#col_1').height(), 
    two = $('#col_2').height(), 
    remaining_height = parseInt($(window).height() - one - two); 
    $('#col_3').height(remaining_height); 
}); 

<script> 
相關問題