Dzieje się tak, że aktywny link jest usuwany na odświeżaniu, co powinienem zrobić na odświeżaniu sprawdzania, które łącze jest włączone i dodaje klasę? Wierzę, że należy to zrobić z JS, wszelkie wskazówki są pomocne dzięki z góry.

Mam tę konfigurację linków w moim pliku PHP:

<?php if (!is_page('main')){  ?>
    <div class="shop-categories layoutcolor1">

        <li>
            <a href="<?php echo get_term_link( 21, 'product_cat' ); ?
            >">
                <p class="first"><?php echo get_cat_name( 21 ); ?> </p>

            </a>

            <a href="<?php echo get_term_link( 20, 'product_cat' ); ?
            >">
                <p class="second"><?php echo get_cat_name( 20 ); ?></p>

            </a>

            <a href="<?php echo get_term_link( 18, 'product_cat' ); ?
            >">
                <p class="third"><?php echo get_cat_name( 18 ); ?></p>

            </a>
        </li>


    </div>
    <?php } ?>

I mam JS:

$('.shop-categories li a').click(function() {

    $('a').removeClass('active');
    $(this).addClass('active');
});
1
Zygimantas 27 czerwiec 2017, 11:05

3 odpowiedzi

Najlepsza odpowiedź

Naprawione za pomocą:

$('.shop-categories li a').filter(function() {
    return $(this).prop('href') === browserUrl;
}).addClass('active');
1
Zygimantas 27 czerwiec 2017, 09:41

Myślę, że potrzebujesz tego ...

$('.shop-categories li a').click(function() {
   $(this).addClass('active').siblings('a').removeClass('active');
});
0
Abhinav Gupta 27 czerwiec 2017, 08:30

Spróbuj tego:

var cp_url= window.location.pathname;

$('.shop-categories li').find('a').each(function() {
   $(this).toggleClass('active', $(this).attr('href') == cp_url);
}) 
1
Roopendra 27 czerwiec 2017, 12:09