根据位置

时间:2015-05-10 22:31:34

标签: javascript jquery position addclass masonry

我正在使用Masonry在两列中呈现一组项目。下面给出的是HTML结构。

<div id="grid">
 <article class="entry"> … </article>
 <article class="entry"> … </article>
 <article class="entry"> … </article>
 <!-- And so it goes -->
</div>

我想要实现的是确定项目中的哪一项位于“左列”中,哪一项位于“右列”中,并根据该类添加HTML类。我选择识别商品展示位置的方式是他们的位置属性,例如对于左边的那些项目,它将等于'0',同样下面的JS被编码。

var $grid = $('#grid');
$grid.imagesLoaded( function() {
    $grid.masonry({
    itemSelector: '.entry',
    percentPosition: true,
    columnWidth: 20,
    gutter: 25,
    isAnimated : false
  });
});
$("#grid .entry").each( function() {
    var position = $(this).position();
    if( position.left == 0) {
      $(this).addClass('left-column');
    } else {
      $(this).addClass('right-column');
   }
});

面临的问题是,每个项目都被识别为位于左侧。你能否描述一下这些故障或建议任何替代方法?非常感谢您的协助。

我创建了一个JSfiddle,这里是链接https://jsfiddle.net/DhrubaRC/7441frh3/

谢谢!

0 个答案:

没有答案