【发布时间】:2015-03-14 17:45:55
【问题描述】:
我是在 stackoverflow 上发帖的新手,也使用 Codepen;所以请对我温柔一点!
在找到 David DeSandro 的精彩 Masonry 之后,我发现了令人惊叹的同位素。我一直在努力完成(我相信)维护项目原始顺序的非常简单的任务。在把我的头发扯了好几天之后(还尝试了 Vit ‘tasuki’ Brunner 的 Masonry Ordered)——我的语法显然有问题,希望得到任何帮助。
基本上,我有许多页面,每个页面都包含(不同)数量的“框”。每个盒子的宽度相同,但高度不同。这些框需要保持其原始顺序,并且在调整窗口大小时也保持该顺序。
示例代码:Isotope - trying to sort items by original order
这些盒子不会被编号 - 它们仅在我的 Pen 中编号以用于说明。
HTML:
<div id="container">
<div class="prod one"><h1>One</h1></div>
<div class="prod two"><h1>Two</h1></div>
<div class="prod three"><h1>Three</h1></div>
<div class="prod four"><h1>Four</h1></div>
<div class="prod five"><h1>Five</h1></div>
<div class="prod six"><h1>Six</h1></div>
<div class="prod seven"><h1>Seven</h1></div>
<div class="prod eight"><h1>Eight</h1></div>
<div class="prod nine"><h1>Nine</h1></div>
<div class="prod ten"><h1>Ten</h1></div>
<div class="prod eleven"><h1>Eleven</h1></div>
<div class="prod twelve"><h1>Twelve</h1></div>
<div class="prod thirteen"><h1>Thirteen</h1></div>
<div class="prod fourteen"><h1>Fourteen</h1></div>
<div class="prod fifteen"><h1>Fifteen</h1></div>
<div class="prod sixteen"><h1>Sixteen</h1></div>
<div class="prod seventeen"><h1>Seventeen</h1></div>
</div> <!-- /end container -->
CSS(在此道歉 - 尽管进行了多次尝试,但我的帖子似乎不允许我将其作为代码放入 - 尽管它可以验证 - 请参阅我的 CodePen 示例。
JS:
var $container = $('#container');
// init
$container.isotope({
// options
itemSelector: '.prod',
layoutMode: 'masonry'
});
下面的 JS '工作',但使盒子大小相同并且彼此间隔:
$('.prod').isotope({
getSortData: {
sortBy: 'original-order'
}
});
我也尝试过使用 Masonry Ordered,但得到了相同的结果。我尝试从Vit 'tasuki' Brunner's Photo gallery demo 复制代码并尝试为此做一支笔,但似乎无法让它工作。
我也尝试过在 HTML 中初始化 Isotope,并认为我的语法没问题,使用有效的 JSON - 但同样没有成功:
<div id="container" class="js-isotope" data-isotope-options='{ "itemSelector": ".prod", "layoutMode": "masonry", "sortBy": "original-order" }'>
Anyhoo,我已经胡扯太久了。如果有人可以向我指出显而易见的事情,我将非常感激!
谢谢 韦伯
【问题讨论】:
标签: sorting jquery-isotope masonry