• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Bootstrap - menu nie chowa się po kliknięciu

Object Storage Arubacloud
0 głosów
1,752 wizyt
pytanie zadane 9 marca 2016 w HTML i CSS przez Skalny Początkujący (340 p.)

Witam ponowniesmiley

Mam problem z menu mobilnym które nie znika po kliknięciu w odnośnik i zasłania mi content. 

Kod:

<nav class="navbar navbar-default navbar-fixed-top" role="navigation">

		<div class="navbar-header">
			<button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".navbar_collapse" >
			<span class="sr-only">Toggle navigation</span>
			<span class="icon-bar"></span>
			<span class="icon-bar"></span>
			<span class="icon-bar"></span>
			</button>
			<a class="navbar-brand" href="#"></a>
		</div>
		<div class="collapse navbar-collapse navbar_collapse">
			<ul class="nav navbar-nav">
				<li class="img-menu"><a href="#about_content"><img src="img/people.png"><br>&nbsp;&nbsp;O Mnie</a></li>
				<li class="img-menu"><a href="#skills_content"><img src="img/bars.png"><br>Umiejętności</a></li>
				<li class="img-menu"><a href="#projects_content"><img src="img/screen.png"><br>&nbsp;&nbsp;Portfolio</a></li>
			</ul>
		</div>
	

</nav>

Próbowałem rozwiązać to za pomocą JQuery ale coś nie wychodzi. Może mnie ktoś naprowadzić na rozwiązanie tego problemu ?

2 odpowiedzi

0 głosów
odpowiedź 9 marca 2016 przez arces Pasjonat (17,700 p.)
wybrane 10 marca 2016 przez Skalny
 
Najlepsza
Przy użyciu jQuery funkcja toggle na odpowiednią classę i powinno być okej. Pokaż swój kod jQuery jak możesz :)
komentarz 10 marca 2016 przez Skalny Początkujący (340 p.)

Problem rozwiązałem takim kodem:

$(document).ready(function(){
  $('.navbar-nav').click(function () {
	$('.navbar-collapse').attr('aria-expanded', 'false').removeClass('in');
  });
});

Pytanie czy jest to dobre rozwiązanie? Może da się to zrobić lepiej?

komentarz 10 marca 2016 przez arces Pasjonat (17,700 p.)
Nie lepiej za pomocą właśnie toggle tak jak Ci pisałem? Dodaj i odejmuje classę automatycznie. Jak masz menu to musi Ci coś pierw je otworzyć, a w Twoim kodzie widzę tylko usunięcie classy bez jej ewentualnego dodania po kliknięciu na "hamburgera".

 

Taki urwany kod bez niczego trudno ocenić, dobrze by było jakbyś wrzucił to chociaż na jakiś poglądowy hosting :)
komentarz 10 marca 2016 przez Skalny Początkujący (340 p.)

Po kliknięciu w hamburgera i otwarciu menu klasa "in" tworzy się automatycznie.

Próbowałem przez toggle jak radziłeś tylko czegoś mi brakuje. Menu się chowa, ale już drugi raz się nie otwiera.

$(document).ready(function(){
  $('.navbar-nav').click(function () {
	$('.navbar-collapse').toggle();
  });
});

 

komentarz 10 marca 2016 przez arces Pasjonat (17,700 p.)

Nie masz przypisanego jaką funkcję ma dodawać i usuwać :) W toggle () musisz dodać classę ;)

 

Ja mam przykładowo tak zrobione dla swojej strony:

 

 

var navigationIcon = document.querySelector(".navigation-icon");
navigationIcon.addEventListener("click", function () {
    document.querySelector(".page-header").classList.toggle("nav-opened");
}, false);

 

komentarz 10 marca 2016 przez Skalny Początkujący (340 p.)
Coś nie działa, albo jestem za głupi. Dodałem do toggle klasę "in". Niby w podglądzie kodu zmienia się wszystko tak jak powinno, ale po kliknięciu w odnośnik menu znika i dodaje się automatycznie "style="display: 'none' " i tak już zostaje. Menu ponownie się nie otwiera.
komentarz 10 marca 2016 przez arces Pasjonat (17,700 p.)
Czyli coś innego musi dodawać tę classę. Dlatego lepiej takie skrypty robić samemu, jeżeli nie używa się całego bootstrapa ;)
komentarz 10 marca 2016 przez Skalny Początkujący (340 p.)

Zostawię moją wersję skryptu, działa i jest ok. Dzięki za zainteresowanie i porady smiley

Łap + wink

0 głosów
odpowiedź 9 marca 2016 przez jpacanowski VIP (101,940 p.)
Dołączyłeś jquery.js i bootstrap.js ? Swojego kodu nie trzeba pisać.
komentarz 10 marca 2016 przez Skalny Początkujący (340 p.)
Tak, oba dołączone i działają.

Podobne pytania

0 głosów
1 odpowiedź 395 wizyt
pytanie zadane 7 maja 2016 w HTML i CSS przez artix132 Użytkownik (870 p.)
0 głosów
1 odpowiedź 393 wizyt
pytanie zadane 10 marca 2020 w JavaScript przez Hehe$zky Nowicjusz (140 p.)
0 głosów
4 odpowiedzi 1,787 wizyt
pytanie zadane 13 marca 2016 w HTML i CSS przez ShadoWs Bywalec (2,800 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...