1

これに対する答えはどこにも見つかりませんでしたが、基本的に、クリックしたときにアンカーに「アクティブな」リンクを追加し、別のアンカーがクリックされたときにそれを削除したいと考えています。これらのアンカーはフィルターとして機能しているため、実際のリンクではなく、ハッシュ化された href です。

これが私がこれまでに持っているものです:

$('.section-filters a').click(function () {
        $(this).addClass('active');
        var selector = $(this).attr('data-filter');
        $container.isotope({
            filter: selector
        });
        return false;
});

何か助けはありますか?

ありがとう、R

4

2 に答える 2

4

メソッドを使用できますremoveClass

$('.section-filters a').click(function (event) {
    $('a.active').removeClass('active');
    var $this = $(this);
    $this.addClass('active');
    var selector = $this.attr('data-filter');

    $container.isotope({
         filter: selector
    });
    return false; // event.preventDefault()
});
于 2012-12-29T15:15:32.347 に答える
0

変数の最後のアクティブを記憶し、次のようにします。たとえば、次のようにします。

$( '.section-filters' ).each( function() {
    var $active = $();

    $( 'a', $( this ) ).on( 'click', function() {
        $active.toggleClass( 'active' );

        $active = $( this );

        $active.toggleClass( 'active' );

        $container.isotope( {
            filter: $active.attr( 'data-filter' )
        } );
        return false;
    } );

} );
于 2012-12-29T15:25:29.333 に答える