2

画像の遅延読み込みを処理する jQuery ウィジェットを作成しました。スクロール バーが変化すると、各画像が表示されているかどうかがチェックされ、表示されている場合はその画像が読み込まれます。

私のウィジェットはこのようなものです。

_create : function() {
    var self = this;
    if(self.isVisible())
    {
        self.load();
    }
    else
    {
        $(window).bind('scroll.'+self.widgetName,self.checkScroll);
    }
},
checkScroll : function() {
    var self = this;
    if(self.isVisible())
    {
        $(window).unbind('scroll.'+self.widgetName,self.checkScroll);
        self.load();
    }
},

最初に画像がビューポートに表示されている場合は読み込まれますが、表示されていない場合はスクロールバー イベントがウィジェットのcheckScroll関数にバインドされます。

私の問題は、unbindすべてのウィジェットに対してグローバルであることです。したがって、最初の遅延イメージがロードされると、他のイメージは呼び出されませんcheckScroll

すべてのウィジェットではなく、ウィジェットを使用している特定の要素のイベントをバインド/バインド解除するにはどうすればよいですか?

それとも私はこれを間違っていますか、より良いアプローチはありますか?

4

0 に答える 0