2012-03-31 76 views
0

我有一個簡單的函數,匹配寬度\ div的高度的JS文件。 如何使用HTML文件中的屬性來調用此函數。使用另一個文件的屬性調用JS函數

換句話說,我想在外部文件中寫一個函數matchHeight(div1,div2),但是使用我想要的div從任何我想要的地方調用它。

函數存在,我只是不知道如何以我想要的方式調用它。

對不起,如果我沒有明確解釋自己。

謝謝。

回答

1

如果你寫一個JS文件您MatchHeights(d1,d2){ ... }功能,在您的HTML頁的文件鏈接喜歡你通常會鏈接任何JS文件,然後你可以調用function在你的頁面的任何部分,只要您撥打鏈接文件被瀏覽器加載後的功能。

事實上,您甚至可以在其他JS文件中調用它,只要原始包含文件由瀏覽器加載到其他文件之前。

爲了讓function運行時刻頁面加載時,調用functiononload事件body標籤:

<script type="text/javascript"> 
var div1 = (some code to get the element) 
var div2 = (some code to get the element) 
</script> 
... 
... 
<body onload="matchHeight(div1,div2)"> 
1

你必須在你這樣的.html文件鏈接的.js文件:

<head> 
<script src="yourJSFile.js" type="text/javascript"></script> 
</head> 
<body onLoad="yourFunction();"> 
</body> 
0

jQuery中一個非常常見的模式是你可以應用的是傳入CSS選擇器。如果您只需傳入div的ID,則最簡單,但其他解決方案也可以使用。

首先從init字符串中取出任何參數。這是複雜的方式。試試這個:

<body onload="init()">

function init() { 
    matchHeight("id1", "id2"); 
} 

一旦你有你在那些函數這樣實際的div:如果您正在使用jQuery我建議簡化這個

function matchHeight(id1, id2) { 
    var div1 = document.getElementById(id1) 
    var div2 = document.getElementById(id2) 
    // .. other stuff 
} 

甚至更多的是,通過完全取消身體標記的init()函數,將其替換爲jquery(document).load(function() {並使用正常的CSS選擇器代替... matchHeight("#id1", "#id2")var $div1 = $(id1);,但無論哪種方式都可以工作:)

相關問題