这是一个非常复杂的修改。我有一个使用同位素设置的网格系统。每次用户访问页面时,客户端都希望此网格是随机的。通过添加sortBy,可以很容易地使用同位素进行设置:'随机'
然而,同位素中的第一项有一个"特征"。这个特色类激活了一个更宽的网格元素和一些信息供用户点击,这样这将永远是我网格中的第一个项目。
现在,我需要做的是将随机序列中的第一个元素设置为"特色"每一次。因此,每次用户访问页面时,特色网格项都会有所不同。目前,因为我已对该类进行了硬编码,所以这只是随机地放在网格中。
无论如何都要给随机序列中的第一个元素一个类吗?这是我的代码:
<script>
var $container = $('#home-grid');
$container.isotope({
// options...
resizable: true, // disable normal resizing
sortBy : 'random',
// set columnWidth to a percentage of container width
masonry: { columnWidth: $container.width() / 2 }
});
$(window).smartresize(function(){
$container.isotope({
// update columnWidth to a percentage of container width
masonry: { columnWidth: $container.width() / 2 }
});
});
</script>
答案 0 :(得分:0)
有一种方法可以让随机序列中的第一个同位素元素成为一类!
使用回调函数并在该回调函数中,通过查找每个Isotope元素的某些值来找出哪个元素被定位为第一个元素:
transform
的矩阵值:tx
和ty
$container
填充值:padding-top
和padding-left
获得这4个值后,请检查tx
的值是否与padding-left
匹配,以及ty
的值是否与padding-top
匹配。
如果两个条件都为真/匹配,请分配您的自定义类,例如。 .featured
到该元素。