2017-10-17 7 views
1

私はjQueryとjavascriptを初めて使用しています。私はここでいくつかのことを試しているので、私が持っているものを説明させてください:jQuery関数をグローバルにするにはどうすればよいですか?またはドキュメントレベル?

- 私はコードを実行しているいくつかの別々の.jsファイルがあります。私はindex.htmlファイルのコードのコードをロードする前にそれらを取得することはできません。常にjQueryファイル(ウィンドウプロパティを設定する)をロードしてからindex.htmlをロードし、次に他のすべての.jsファイルにjQueryメインファイルのリストがあります。だから私はこれを回避しようとしている。

私は別々のファイルに私のJavaScriptを区切っています
- メインページ設定のためmainpage.js // JavaScriptコード - jQuery.js(ミニ)//任意のローカルまたはメインAjaxのソースからこの
に動作します。そこに必要な要素として、現在何も存在しません。
- mainmenu.js // mainmenu.htmlをロードします。これはmainmenuリストに含まれています。
- index.html //これで実行したいコードは、".active"クラスをホームボタンに宣言するだけです。私はこのファイルでそれをしたいので、すべてのファイルに同じユニバーサルmainmenu.jsとmainmenu.htmlを使用することができます。
これらはすべてindex.htmlの頭で宣言されています。

私の問題は、jQuery.jsロードをロードし、index.htmlのjavascriptを即座に起動することです。私はどのように設定する関数を宣言connot把握#homeボタンとして".active"私はそれをドキュメントレベルに宣言できますか?私はそれをグローバルにするべきではないことは知っています...しかし、私はそれをする方法を知っていませんか?私は現在よ
は、次の操作を行います。

defineactive(){ 
    $(mmlist).find("#home").addClass("active"); 

} 

しかし、mmlistはまだ定義されていません。それはmainmenu.jsで宣言され、ロードされます。後でindex.html

だから私はjQuery.jsの外で呼び出すことができる関数を宣言できますか?

外部のソース/アプリを使用する以外に、どうすればjavascriptファイルが順番に読み込まれるようにすることができますか?このアイデアを後でより複雑な方法で使用することを計画していますので、私はこれを動作させる必要があります。それは、ページがロードされます時間によって実行されます

$(document).ready(function(){ 
// ... Your code ... 
}); 

+1

最初の質問は、あなたのjsファイルは 'jquery'依存ですか? – Hackerman

+0

はいそうです。したがって、私は最初にjQueryをロードする必要があります。しかし、私はmainpage.js、mainmenu.js、および他の人がNEXTをロードし、index.html(または他のWebページ)の末尾にあるjavascriptを使用してLASTを起動します。 – Jexadox

答えて

0

は、としてあなたのコードをラップするようにしてください。

+0

私はこれをいつもやっています。動作しませんでした。別の記事によると、これはHTMLがすべてのリソースではなく読み込まれるのを待ちます。 '$(document).load(function(){'を修正しようとしていましたが、それも無駄にしました。 – Jexadox

関連する問題