この2つのプラグインが連携する可能性はありますか?現在、画像を含むdivでiscrollを使用すると、画像が表示されるタイミングを遅延読み込みで検出できません。
ありがとう。
編集:
コメントの1つで述べたように、私は次のようにスクロールにlazyloadを適用しようとしました。
onScrollMove: function () {
$("img").lazyload();
$('img').on('load',function(){myScroll.refresh();});
}
正しく機能するには、同じことをonBeforeScrollEndに適用する必要があると思います。
onBeforeScrollEnd: function () {
$("img").lazyload();
$('img').on('load',function(){myScroll.refresh();});
}
しかし、このソリューションはパフォーマンスに影響を与えていますか(すべての画像にレイジーロードを継続的に適用し、ロードされた画像の幅/高さに再適応するためにロードされたときに更新されるため)?画像付きのすべてのテーマの中にいくつかの(たとえば30個の)スクローラーが含まれるコンテナースクローラーがあるので、ここでのパフォーマンスについては本当に心配しています。他に何ができますか?
編集2:
これは私がこれまでに持っているものであり、ほとんどうまくいくと思います。
onScrollMove: function() {
$('#my_container img').lazyload({
container: $('#my_container'),
threshold: 200
}).on('load', function() {
myScroll.refresh();
});
}
ただし、このソリューションの問題は、myScrollが最初に更新されるときに、lazyloadがすべての画像をロードすることです。
ここにフィドルがあります:http://jsfiddle.net/U3gYS/
また、最初の画像が最初から表示可能である場合、lazyloadはその画像をロードしないという問題もあります。http://jsfiddle.net/U3gYS/1/
編集3:
http://jsfiddle.net/pdakD/ほぼ手元にありますので、助けてください。新しいフィドルでは、問題は次のとおりです。
onBeforeScrollEndが機能していないようです。console.log('something')を含めると、スクロールの開始時に起動しているように見えます。
最初の#containerの高さは、span +firstimgです。見栄えを良くするために、パディングボトム(大きすぎない)を追加し、最後の画像が最終的に読み込まれたときに削除しました...他に何ができますか?
編集4:
これは良く見えます:http://jsfiddle.net/pdakD/1/.onBeforeScrollEndはまだ私には悪いように見えます。私にもこのオプションがあります:http://jsfiddle.net/pdakD/1/適用されます
checkDOMChanges:true
しかし、私は複数のiscrollerやajaxデータなどを持っているので、良い考えではないと思います。
解決策: これは、MichaelAlexanderFreundによって提案された解決策のjfiddleです。 http://jsfiddle.net/pdakD/11/ 動作しますが、高速で「スクロール」すると下部でスタックします。