当Chrome中超过10个div时,javascript sort会很奇怪

时间:2015-06-30 15:24:53

标签: javascript jquery sorting

我正在尝试使用javascript sort函数按数据属性对div列表进行排序。

HTML

<div class="boxes">
   <div data-value="0" class="box">A</div>
   <div data-value="2" class="box">B</div>
</div>

的javascript

$('.box').sort(function(a,b){

    var an = parseInt(a.getAttribute('data-value')),
        bn = parseInt(b.getAttribute('data-value'));

    return an - bn;
});

它在Chrome上很有效,除非有超过10个元素:在这种情况下,如果我排序多次,有些元素在它们不应该(当它们的数据值属性相同时)移动。

我有一个jsfiddle那里https://jsfiddle.net/q8ovfp1b/1/解释了这个问题。 如果你在右边的按钮上点击几次,订单一旦设置就不会改变,但是如果点击左边的按钮,一些div会被重新排序,并且它们总是相同的(第一,第二和7日)。

有没有办法避免这种情况?

0 个答案:

没有答案