4

そのようなjQueryプラグインはありますか?

より具体的には、エレガントで簡単な方法を使用して、実際に必要になるまで (イベントが発生するまで) コードの実行を延期したいと考えています。このイベントが発生すると、延期されたコードは 1 回だけ実行されます。ある種の遅延初期化。

たとえば、ドキュメントの準備ができたときではなく、ユーザーがその要素の上にカーソルを置いたときに、アニメーションを要素に適用します。

手動で行う方法は知っていますが、匿名関数を実行する前に「初期化済み」フラグを確認して設定する必要があるため、好きではありません。すでに完了しているかどうか疑問に思っていました(バグがなく、いくつかのおいしい機能があります)。

4

3 に答える 3

4

http://plugins.jquery.com/project/LazyReady

Lazy Ready 指定されたDOM要素が操作される(ホバー/フォーカスされる)までコードの初期化を遅らせるように設計されたプラグイン。

于 2009-11-20T21:56:07.277 に答える
2

Lazy Loadは、画像の遅延読み込みを行います。

于 2009-11-20T16:24:50.700 に答える
2

より具体的な質問への回答:

プラグインは本当に必要ありませんか?これらの線に沿って何かをしてください。

postponedHeavyFunction()これにより、ユーザーが id を持つ要素を 1 回だけクリックした後にのみ関数がトリガーされますlazyelement

function postponedHeavyFunction() {
    // unbind. This guarantees that postponedHeavyFunction will only
    // execute once for the event we bound it to #lazyelement
    $("#lazyelement").unbind('click', postponedHeavyFunction);
    ...
    //do whatever 
    ....
}

//when event is triggered the function you specify gets run
$("#lazyelement").bind('click', postponedHeavyFunction);

http://jsbin.com/agora/をチェックして、ばかばかしいデモンストレーションを確認してください。


正確には何が欲しいのですか。何を遅延ロード/遅延評価する必要がありますか?? 具体的に。

遅延評価(他の言語から知られているように)AFAIKはJavascript自体では(言語の概念として)サポートされていません。、、、など&の演算子を除いて。|&&||

一部の JavaScript を遅延ロードするだけの場合は、他のスクリプトがこれを調べます

于 2009-11-20T18:02:36.697 に答える