<script>
$(window).load(function () {
var $wall = $('#content');
$wall.imagesLoaded(function () {
$wall.masonry({
itemSelector: '.oddpost',
isAnimated: true
});
$(".oddpost").each (function (idx, el) {
if ($(el).position().left < $(el).width()) {
$('.rightarrow', el).show();
}
else {
$('.leftarrow', el).show();
}
});
});
$wall.infinitescroll({
navSelector: '#pagination',
nextSelector: '#pagination li a.pagination_nextlink',
itemSelector: '.oddpost',
loadingImg: "http://static.tumblr.com/qrevc1p/WTKlx2dsg/gsnjnwui-um.gif",
loadingText: " ",
donetext: " ",
bufferPx: 100,
debug: false,
errorCallback: function () {
$('#infscr-loading').animate({
opacity: .8
}, 2000).fadeOut('normal');
}
}, function (newElements) {
var $newElems = $(newElements);
$newElems.hide();
$newElems.imagesLoaded(function () {
$wall.masonry('appended', $newElems, {
isAnimated: true,
animationOptions: {
duration: 900,
easing: 'linear',
queue: false
}
}, function () {
$newElems.fadeIn('slow');
});
});
});
$('#content').show(500);
});
</script>
そのスクリプトを Tumblr テーマで使用して、石積みと無限スクロールを適用しています。これは 2 列のレイアウトなので、div は左または右にのみ移動します。また、テーマに石積みを適用する以外に、div には左に向かう矢印 (.rightarrow) と、右に向かう矢印には別の矢印 (.left arrow) も配置されます。
これまでのところ、すべてが正常に機能しています。私の問題は、次のページが読み込まれたときに始まります。どうやら、矢印コードは最初のページにのみ適用され、新しく追加された要素には適用されないようです。コードのさまざまな部分で矢印コードを繰り返してみましたが、うまくいきませんでした。それは本当に私を混乱させ始めています。私はjQueryを初めて使用するわけではありませんが、これを機能させるのに本当に苦労しています。
新しく追加されたdivにも適用されるように、矢印コードを配置する必要がある部分を誰か教えてもらえますか?