Pracuję nad funkcją, aby przełączyć menu na kliknięciu, ale nie może sprawić, że działa, ponieważ została przebita z jQuery 1.9.
Nie mam pojęcia, jak udać się do pracy.
Chcę ponownie kliknąć na menu IMG i rozszerzyć menu, a następnym razem, gdy zrobię to ponownie.
To jest mój kod:
$(document).ready(function(){
$('.menu img').click(function(){
var wWidth = $(window).width();
var wHeight = $(window).height()
$('.menu').animate({width: wWidth + 'px', height: wHeight + 'px'}, 500);
$('.menu').toggleClass('menu_expanded');
});
Z góry dziękuję.
Oto jsfiddle jako żądanie: http://jsfiddle.net/Czef8OFB/
2 odpowiedzi
Możesz spróbować następującego kodu - .hasClass()
sprawdza, czy element nawigacyjny został już przypisany klasę .menu_expanded
i pokazuje / ukrywa menu.
$(document).ready(function(){
$('.menu img').click(function(){
var wWidth = $(window).width();
var wHeight = $(window).height()
if(!$('.menu').hasClass('menu_expanded')){
$('.menu').animate({width: wWidth + 'px', height: wHeight + 'px'}, 500);
}else{
//code to hide menu again
}
$('.menu').toggleClass('menu_expanded');
});
});
Według Dokumentów JQuery:
Ta metoda podpisano przez jQuery 1.8 i usunięto w jQuery 1.9. JQUERY zapewnia również metodę animacji o nazwie .toggle (), który przełącza widoczność elementów. Czy animacja lub metoda zdarzenia zostaje zwolniona, zależy od zestawu argumentów.
Więc należy użyć tego zamiast tego: Metoda animacji .toggle ()