0

任何人都可以给我一些如何按日期对元素位置进行排序?

示例 HTML:

<div class="side left">
    <div class="box" data-date="06/29/2013"></div>
    <div class="box" data-date="06/29/2013"></div>
    <div class="box" data-date="06/30/2013"></div>
</div>

<div class="side right">
    <div class="box" data-date="06/28/2013"></div>
    <div class="box" data-date="06/30/2013"></div>
</div>

我想按日期对盒子进行排序,谁新的会比新的低。(如果你能理解)

我在GIF中做了一些这样的演示......

按日期对元素位置进行排序

我现在不同意这个:

$('.side .box').each(function(i){
        var box = $(this);
        var date = $(this).data('date');
        var format_date = new Date(date);
        var top = parseInt(box.offset().top);
        // HERE WE GO !!!

});

现在我不知道该怎么做,有人可以帮助我或给出一些想法吗?

游乐场+演示:http: //jsfiddle.net/b2Wx5/


Okey:我到这一步了,有没有人可以复习一下?

http://jsfiddle.net/b2Wx5/7/

任何 ?

4

1 回答 1

1

你使用这个插件 http://james.padolsey.com/javascript/sorting-elements-with-jquery/。添加一些更改sortElements以考虑日期。
就像是

  var date1 = // pass date from first elemnt ;
  date1 = date1.split('/');
  date1 = //pass date from second element;
  var date2 = $(b).find(".date").text();
  date2 = date2.split('/');
  date2 = new Date(date2[2], date2[1] - 1, date2[0]);
  return date1 < date2 ? 1 : -1;  

有类似的问题How to sort div's by content date。通过对其添加一些更改,您可以将其与您的 sceanrio 一起使用

于 2013-06-25T09:15:46.823 回答