使用无限滚动加载新帖子并使用masonry js定位它们。
这是一些注释代码。
function (newElements) {
$.adaptiveBackground.run(); // run adaptive backgrounds on all new posts so as to colour them the approximate colour of the image about to be loaded
var $newElems = $(newElements).css({ // hiding new posts until they're positioned properly after images are loaded
opacity:0
});
var hideimages = $(".figure > img").hide(); // lets hide the images of new posts loaded
$newElems.imagesLoaded(function () {
$newElems.animate({
opacity: 1
}); //images now loaded, posts moved into correct masonry position, posts now un-hidden
var hideimages = $(".figure > img").delay( 1000 ).fadeIn(1000); // lets fade the images in after 1 second
$container.masonry( 'appended', $newElems );
});
});
我遇到的问题是这一行var hideimages = $(".figure > img").hide();
,我只想隐藏newElements中的图像(即刚装入的帖子),但我不太确定如何使用变量的子句我也找不到正确的文件。
此有效但显然它隐藏了已经成功加载的帖子里面的任何图像。
答案 0 :(得分:0)
你可以specify a context for your selector:
$('.figure > img', $newElems).hide();
答案 1 :(得分:0)
使用.addClass()
为所有新添加的元素指定一个特殊类,并定位该类选择器而不是更通用的.figure > img
选择器(然后是removeClass()
)。
您可以使用Jason P的答案描述的上下文选择器参数,或者使用.filter($newElems)
方法,它将以相同的方式运行。