0

私が取り組んでいるプロジェクトで小さなアーキテクチャ上の問題が発生しています。基本的に、すべての Javascript ロジックをさまざまなファイルに分割しました。そのうちの 1 つはinterface.js. このファイル内には多くの jQuery コード$(document).ready()が含まれていますが、次のような他の JS ファイルから呼び出す必要のある関数もいくつかあります。

function hideProgressBar() {
    $('.progress').hide();
}

これらの関数は、実行されるまでに jQuery がロードされることを期待して宣言し$(document).ready()ましたが、実際には機能しているようです。これを行うより良い方法はありますか?リスクは何ですか?

4

2 に答える 2

0

関数内で document.ready を呼び出すことができます。

function hideProgressBar() {
    $(function(){
        $('.progress').hide();
    });
}

1 つの大きな document.ready 呼び出し内ですべての関数を宣言することもできます。

$(function(){
    window.hideProgressBar = function () {
        $('.progress').hide();
    };
});

ただし、通常、これらのタイプの関数はイベントであるか、jquery イベントによって呼び出されます。これは、ドキュメントが既に準備されていることを意味します。

于 2013-07-08T14:08:57.100 に答える
0

純粋なjsで作成してみてください。

var array_el = document.getElementsByClassName('progress');
if (array_el)
{
    var needed_el = array_el[0];
    needed_el.style.display = 'none';
}
于 2013-07-08T14:09:56.583 に答える