Przykładowy przycisk wygląda tak:
Natomiast przykładowy skrypt do przycisku wygląda tak:
$(".kategoria1").click(function () { $(".kategoria2").css("opacity","0.2"); $(".kategoria3").css("opacity","0.2"); $(".kategoria4").css("opacity","0.2"); $(".kategoria5").css("opacity","0.2"); $(".kategoria6").css("opacity","0.2"); $(".kategoria1").css("opacity","1"); $(".kategoria1").addClass("wcisniety1"); $(".kategoria1").removeClass("kategoria1"); });
A przykładowy skrypt do wciśniętego przycisku wygląda tak:
$(".wcisniety1").live('click',function(){ $(".kategoria1").css("opacity","1"); $(".kategoria2").css("opacity","1"); $(".kategoria3").css("opacity","1"); $(".kategoria4").css("opacity","1"); $(".kategoria5").css("opacity","1"); $(".kategoria6").css("opacity","1"); $(".wcisniety1").addClass("kategoria1"); $(".wcisniety1").removeClass("wcisniety1"); });
Problem polega na tym, że skrypty wykonują się jeden po drugim, a więc zawsze wracają do stanu z przed kliknięcia. Po prostu skrypt pierwszy zmienia nazwę klasy, a skrypt drugi jest przypisany dla tej klasy i wykonuje się. Przy zamianie kolejności skryptów w pliku js dzieje się to samo. Jak sobie z tym poradzić?