Jquery 在显示新项目后重新加载砌体容器不会';不行?
这里有点问题。我需要有一堆项目隐藏时,该网站首次加载,并只有在我点击一个按钮后才出现。在我的doc.ready顶部,我有以下内容:Jquery 在显示新项目后重新加载砌体容器不会';不行?,jquery,jquery-masonry,Jquery,Jquery Masonry,这里有点问题。我需要有一堆项目隐藏时,该网站首次加载,并只有在我点击一个按钮后才出现。在我的doc.ready顶部,我有以下内容: $('#showall').hide(); 它成功地隐藏了我需要隐藏的卡(显然)。然后我试图解开它们,重新装上砖石容器,但它似乎不起作用 var container = document.querySelector('.comparison-cards'); var msnry = new Masonry(container, { // options
$('#showall').hide();
它成功地隐藏了我需要隐藏的卡(显然)。然后我试图解开它们,重新装上砖石容器,但它似乎不起作用
var container = document.querySelector('.comparison-cards');
var msnry = new Masonry(container, {
// options
itemSelector: '.card',
gutter: 20,
isFitWidth: true
});
$('.button').click(function () {
$('#showall').show();
msnry.reloadItems();
});
这有什么原因不起作用吗?我做错什么了吗?有更好的方法吗?为了澄清,我隐藏的卡与我最初显示的卡具有相同的类别,只是显示了不同的id
感谢您提供的任何帮助!:-) 我通过组合使用jquery show()和hide()以及mashise remove()和addItems()解决了这个问题:
$('.button').click(function () {
if (buttonClicked == false) {
$(testArray).show();
msnry.addItems(testArray);
$(container).append(testArray);
msnry.appended(testArray);
msnry.reloadItems();
msnry.layout();
$('.button').html('SHOW LESS');
buttonClicked = true;
console.log(buttonClicked);
} else {
msnry.remove(testArray);
msnry.layout();
$('.button').html('SHOW ALL');
buttonClicked = false;
console.log(buttonClicked);
}
});