jquery に少し問題があり、あなたの助けを頼りにしています。カスタムの並べ替え可能なタブがありますが、選択したアイテムをクリックすると、順序を変更するために 2 回クリックする必要があります。
ここにスクリプトのデモがあります: http://jsfiddle.net/7e3UV/1/
たとえば、最初のリンクで.activeクラスボタンをクリックしようとすると、矢印を変更するために2回目にクリックする必要があることがわかります...
それで、誰かが私を助けてくれますか、なぜこれがそのようになっているのか理解できますか?
HTML:
<div id="sort">
<a href="#" data-sort="views" data-order="desc" class="active">views <span>↓</span></a>
<a href="#" data-sort="rating" data-order="desc">rating <span>↓</span></a>
<a href="#" data-sort="date" data-order="desc">date <span>↓</span></a>
</div><!-- #sort -->
JS:
var body = $('body');
body.on('click', 'div#sort > a', function(e){
var self = $(this);
// if clicked on active tab
if( self.hasClass('active') )
{
console.log('active');
if( self.data('order') === 'asc' )
{
console.log('active asc');
self.data('order', 'desc');
self.children('span').html('↑');
}
else
{
console.log('active desc');
self.data('order', 'asc');
self.children('span').html('↓');
}
}
// add and remove .active class
self.addClass('active').siblings().removeClass('active');
e.preventDefault();
});