Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]problem z klasa
Forum PHP.pl > Forum > Przedszkole
tomi1985
witam,

mam taki kodzik:

Kod
....
$('#nav a').click(function(e){
        $(this).removeClass('active');
        $(this).addClass('active');
.....


i chodzi o to, że jak kliknę jakiś link to dodaje klase 'active' lecz jak kliknę powtórnie inny link to nie usuwa klasy 'active' z tego poprzedniego ...;/
RiE
this wskazuje na aktualny, kliknięty link, więc usuwasz i dodajesz klasę tylko do aktualnego, zamień swój kod na:
  1. $('#nav a').click(function(e){
  2. $('#nav a').removeClass('active');
  3. $(this).addClass('active');
  4. }
tomi1985
i git, działa smile.gif a jak klase przenieś z 'a' na li'

poniewaz strukturę mam

Kod
<ul id="nav">
            <li><a href="date">Edytuj dane</a></li>
            <li><a href="password">Zmień hasło</a></li>
            <li><a href="ads">Edytuj obiekt</a></li>            
            <li><a href="photos">Edytuj zdjęcia</a></li>
            <li><a href="logOut">Wyloguj</a></li>
        </ul>


przepraszam za moje 'banalne' pytania lecz dopiero się uczę js wink.gif także licze na wyrozumiałość
RiE
Tak na logikę biorąc to zmieniasz
  1. $('#nav a')

na
  1. $('#nav li')
tomi1985
heheh no tak tongue.gif choć sądziłem, że w tym musi być bezpośredni komunikat co user kliknie smile.gif

no wlasnie nie działa jednak...
;/

Kod
$(document).ready(function() {
    $('#nav li a').click(function(e){
        $('#nav li').removeClass('active');
        $(this).addClass('active');
        
        var loading         = $('#result').html('Proszę czekać...<br /><img src="images/loading.gif">');
        var result          = $('#result');
        var background      = $('#resultBottom');      
        var resultChange    = $('#resultChange');
        
        $.ajax({
            url: $(this).attr('href')+'.php',
            dataType: 'JSON',
            beforeSend: function(){
                //resultChange.empty();
                background.show();
                loading.show();
            },


musi być

Kod
$('#nav li a')


ponieważ ajax się nie odpala poprawnie.... ;/
werdan
  1. $('#nav li').removeClass('active');
  2. $(this).parent().addClass('active');
tomi1985
dziękówka wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.