1
所以我注意到在用list.js对一堆东西进行排序时,它会在Chrome中排序有点奇怪。List.js在Chrome中没有正确排序
这里有一个演示:
http://jsfiddle.net/xku3R/
如果按类别在顶部,因为名单已经在标题的字母顺序排序,然后按类别没有什么应该发生。这在Firefox和Safari中按照预期工作,但不在Chrome中。 Chrome会以某种奇怪的方式按标题重新排序。
然后我发现,如果我删除与设计中的最后一项类别,它会像预期的那样:
http://jsfiddle.net/5s5tB/
什么会导致这种行为?
JS
var articleList = new List('articlelist', {valueNames: [ 'category', 'title' ]});
$('span.sort').click(function() {
var value = $(this).data('sort');
if(value == 'category') {
articleList.sort('title', { asc: true })
articleList.sort(value, { asc: true })
} else {
articleList.sort(value, { asc: true })
}
});
HTML
<ul>
<li class="category">
<span class="sort" data-sort="category">Category</span>
</li>
<li class="overflow">
<span class="sort" data-sort="title">Title</span>
</li>
</ul>
<main id="articlelist">
<ul class="list">
<li>
<span class="category">Architecture</span>
<span class="overflow">
<a class="title" href="http://someurl.com/djennes-mud-mosque/">Djenné’s Mud Mosque</a>
</span>
</li>
<li>
<span class="category">Architecture</span>
<span class="overflow">
<a class="title" href="http://someurl.com/previ/">PREVI</a>
</span>
</li>
<li>
<span class="category">Architecture</span>
<span class="overflow">
<a class="title" href="http://someurl.com/revolutionary-housing-argentina/">Revolutionary housing in Argentina</a>
</span>
</li>
<li>
<span class="category">Architecture</span>
<span class="overflow">
<a class="title" href="http://someurl.com/high-line/">The High Line</a>
</span>
</li>
<li>
<span class="category">Cities</span>
<span class="overflow">
<a class="title" href="http://someurl.com/edge-city-sao-paulo/">Edge City (São Paulo)</a>
</span>
</li>
<li>
<span class="category">Cities</span>
<span class="overflow">
<a class="title" href="http://someurl.com/istanbul/">Istanbul</a>
</span>
</li>
<li>
<span class="category">Cities</span>
<span class="overflow">
<a class="title" href="http://someurl.com/jenin/">Jenin</a>
</span>
</li>
<li>
<span class="category">Cities</span>
<span class="overflow">
<a class="title" href="http://someurl.com/rebuilding-beirut/">Rebuilding Beirut</a>
</span>
</li>
<li>
<span class="category">Cities</span>
<span class="overflow">
<a class="title" href="http://someurl.com/shenzhen/">Shenzhen</a>
</span>
</li>
<li>
<span class="category">Cities</span>
<span class="overflow">
<a class="title" href="http://someurl.com/unreal-estate-london/">Unreal Estate (London)</a>
</span>
</li>
</ul>
</main>
Linux上的Chrome:不可重现,按预期工作。 – punund
@punund谢谢,很高兴知道。我在OSX上使用31.0.1650.63。你检查了两个小提琴吗? http://jsfiddle.net/xku3R/是一个不工作。 – INT
对我也适用,窗户上的镀铬 – Ani