我在使用点击事件附加和替换内容时遇到了一些问题。有 3 行的 div,每行之间是一个 100% 宽度的隐藏 div,单击其中一个 div 将显示最近的隐藏 div,重新加载砌体插件,并在其中附加相关内容。
这是一个 jsfiddle:http: //jsfiddle.net/wUEkE/9/
jQuery:
$(document).ready(function() {
var $container = $('#listings-wrap');
$(function(){
$container.imagesLoaded(function(){
$('#listings-wrap').masonry({
itemSelector : '.listings-item, .preview-listing',
columnWidth: 4,
gutterWidth: 10,
isFitWidth: true,
isAnimated: true
});
});
});
});
$(document).ready(function(){
$(".listings-item").click(function() {
$('.test').hide();
$(this).nextAll('.hidden:first').removeClass('hidden').addClass('preview-listing').append($('#post'+$(this).attr('hook')).show()).hide().delay(400).fadeIn("slow");
$('#listings-wrap').masonry('reload');
});
});
如您所见,我的问题在于单击已显示的.listing-item
时间,而不是替换最近的div 内的内容,它不起作用,只是将内容放在顶部。
这个想法是每行之后都会有一个 .hidden div,例如单击前 3 个中的一个会将相关内容附加到 的第一个实例中,单击 4 到 6 会将其附加到的第二个实例中等等,但我不知道如何让它工作。.hidden
.hidden
.listing-item
.hidden
.hidden