给第一个砌体/同位素随机项目一个类

时间:2013-03-11 17:32:00

标签: javascript jquery jquery-masonry jquery-isotope

这是一个非常复杂的修改。我有一个使用同位素设置的网格系统。每次用户访问页面时,客户端都希望此网格是随机的。通过添加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>

1 个答案:

答案 0 :(得分:0)

有一种方法可以让随机序列中的第一个同位素元素成为一类!

使用回调函数并在该回调函数中,通过查找每个Isotope元素的某些值来找出哪个元素被定位为第一个元素:

  1. 每个元素transform的矩阵值:txty
  2. $container填充值:padding-toppadding-left
  3. 获得这4个值后,请检查tx的值是否与padding-left匹配,以及ty的值是否与padding-top匹配。

    如果两个条件都为真/匹配,请分配您的自定义类,例如。 .featured到该元素。