Pokazywanie i chowanie elemenu fadeIn() fadeOut()

Pokazywanie i chowanie elemenu fadeIn() fadeOut()
K0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 56
0

Witam.
Mam pewien przycisk, którego naciśnięcie powoduje pokazanie się ukrytego diva. Nie wiem co mam zrobić, aby po ponownym wciśnięciu tego przycisku okno się schowało. Gdy w funkcji fadeOut() wpisuję klasę przycisku, którym go otworzyłem, div pokazuje mi się i od razu zamyka.

Kopiuj
	$(document).ready(function(){
	    $(".pozycja_z_listy").click(function(){
	        $(".rozwiniecie").fadeIn(500);

	    });
	});

	$(document).click(function(e) {
        var $target = $(e.target);
        if (!$target.is('.pozycja_z_listy')) {
            $('.rozwiniecie').fadeOut(500);
        }
    }); 

PS. Uprzedzam, że na chwilę obecną JS to nie moja specjalność :P

Maciej Cąderek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1264
1

Musisz sobie w jakiś sposób przechować bierzący stan docelowego diva, najlepiej lokalnie w atrybucie data- lub najprościej za pomocą klasy, którą dodajesz i usuwasz: http://api.jquery.com/toggleclass/

T co teraz robisz jest bez sensu - przypisujesz dwa handlery robiące przeciwstawne rzeczy w tym samym czasie do tego samego elementu.

PS
Równie łatwo zrobisz to bez jQuery.

Maciej Cąderek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1264
1

Masz tu prosty przykład: http://codepen.io/anon/pen/jVLeNz

Tu zwijanie zamiast zanikania: http://codepen.io/anon/pen/qqXJRd

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.