サイトでアイソトープの順序と並べ替えを設定しましたが、並べ替えを番号に変更すると、アイテムが正しく並べ替えられません。
たとえば、次のようなアイテムがあります。
<div class="boxm" data-name="aaa" data-number="11944"></div>
<div class="boxm" data-name="bbb" data-number="1494"></div>
<div class="boxm" data-name="ccc" data-number="1574"></div>
<div class="boxm" data-name="ddd" data-number="1892"></div>
<div class="boxm" data-name="eee" data-number="19520"></div>
<div class="boxm" data-name="fff" data-number="2090"></div>
<div class="boxm" data-name="fgf" data-number="9010"></div>
次のような同位体コードを使用します。
$container.isotope({
itemSelector : '.boxm',
masonry : {
columnWidth : 67,
cornerStampSelector: '.corner-stamp'
},
getSortData : {
name : function($elem){
return $elem.attr('data-name');
},
number : function($elem){
return $elem.attr('data-number');
}
}
});
$sortLinks.click(function(){
var $this = $(this);
if($this.hasClass('selected')){
return false;
}
var $isSet = $this.parents('.option-set');
$isSet.find('.selected').removeClass('selected');
$this.addClass('selected');
var options = {},
key = $isSet.attr('data-option-key'),
value = $this.attr('data-option-value');
value = value === 'false' ? false : value;
options[key] = value;
if(key === 'layoutMode' && typeof changeLayoutMode === 'function'){
changeLayoutMode($this, options)
}else {
$container.isotope(options);
}
return false;
});
数字で並べ替えを押すと、ここに入力したのと同じ順序になります。DESC でソートを押すと、9010 で始まり、2090 が続きます。私が正しければ、Isotope は最初の 2 文字だけを監視するためですが、私は正しく注文する必要があります。
どうすればこの問題を解決できますか?