jQuery wykonywanie czynności po dodaniu klasy

jQuery wykonywanie czynności po dodaniu klasy
P0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 29
0

Cześć,

Potrzebuję skrypciku, już kombinuję od dłuższego czasu więc postanowiłem napisać tutaj, moze zaczne od razu od przykladu, otóż mam takie coś:

Kopiuj
<body>
</body>

Po kliknieciu w pewien button dodaje mi klasę i wtedy wyglada tak:

Kopiuj
<body class="cover">
</body>

I teraz chcę napisać skrypcić w jQuery aby "Jesli jest w body klasa 'cover' to dodaj div class 'cover-two', Jeśli body nie bedzie miało klasy 'cover' to usun div class 'cover-two'

To co udało mi sie napisać to to:

Kopiuj
$(function (){
if ($('body').hasClass('cover')){
$('body').prepend('<div class="cover2"></div>');
}

Nie działa to jednak domyślam się czemu, dlatego że jak otwiera sie stronka i wczytuje sie skrypt to na body nie ma wtedy klasy 'cover' ona dopiero pojawia sie po kliknieciu w przycisk. Jak radzić w takich sytuacjach ? Dzięki za pomoc

dzek69
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Rzeszów
1

Podepnij te akcje do kliknięcia w ten button, co dodaje klasę cover.

P0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 29
0

Miałem tak zrobione wcześniej ze po kliknięciu w button, ale wtedy jest problem z usuwaniem klasy 'cover2' ponieważ
Jest to taki popup, i dodaję klasę cover2 aby sciemnić tło, gdy zamykam popup buttonem to jest ok bo dodałem coś takiego:

Kopiuj
$("button.close").on("click", function() {
$("cover2").remove();
}

Jednak ten popup mozna zamykać wciskając esc i wtedy jest problem bo mi klasa cover2 nie usuwa się

varmanpl
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 60
0

Może obsłuż wtedy klawisz esc.

Kopiuj
$(document).keyup(function(e) {

  if (e.keyCode == 27){
  //usun class
 }  
});
P0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 29
0

Dzieki!

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.