2012-03-31 10 views
0

divファイルのwidth \ heightに一致する単純な関数を持つJSファイルがあります。 HTMLファイルの属性を使用してこの関数を呼び出す方法はありますか。別のファイルの属性を持つJS関数を呼び出す

つまり、外部ファイルに関数matchHeight(div1、div2)を書きたいと思いますが、必要なdivを使用したい場所から呼び出します。

機能は存在しますが、私はそれを私が望むように呼び出す方法を知りません。

申し訳ありませんが、私は自分自身を明確に説明していません。

ありがとうございました。あなたはJSファイルにあなたのMatchHeights(d1,d2){ ... }関数を記述し、普段どんなJSファイルをリンクするように、あなたは限り、あなたが呼び出すと、ページのどの部分でfunctionを呼び出すことができ、あなたのHTMLページにファイルをリンクする場合

答えて

1

リンクされたファイルがブラウザーによってロードされた後で機能します。

Infactは、元のファイルを含むファイルがブラウザによって他のファイルより先に読み込まれる限り、他のJSファイルでも呼び出すことができます。

<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ファイルをリンクする必要があります。

bodyタグの onloadイベントで functionを呼び出して、瞬間にページが読み込まを実行するために functionを取得するには:

<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得ることを持っていたら:

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

をあなたはjQueryのを使用している場合、私はこれを簡素化するお勧めしますさらに、init()の機能をbodyタグから完全に取り除いて、jquery(document).load(function() {に置き換えて、代わりに普通のCSSセレクタを使用してください。matchHeight("#id1", "#id2")var $div1 = $(id1);どちらかの方法で動作します:)

関連する問題