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

Okno menu po kliknieciu buttona - jak zrobiono

0 głosów
136 wizyt
pytanie zadane 17 października 2017 w HTML i CSS przez Bartlomiej Bywalec (2,480 p.)

Siema mam pytanie jak zrobić taki bajer że po kliknieciu buttona wyskakuje okienko z menu

 

3 odpowiedzi

0 głosów
odpowiedź 17 października 2017 przez zgrybus Pasjonat (24,780 p.)
wybrane 17 października 2017 przez Bartlomiej
 
Najlepsza
Masz sobie buttonika z pozycją relatywną. Masz menu, które odwołuje się do jego pozycji relatywnej i dajesz jej absolutna z bottom: -25px ( powiedzmy ). Przy okazji nadajesz jej display: none ( możesz również max-height: 0; opacity: 0; visibilty: hidden; overflow: hidden ). Po kliknięciu w button, nadajesz menu klasę active w której jest display: block lub max-height: (ileś tam px Ci potrzebnych - powiedzmy 300px ); opacity: 1; visibility: visible;
proszę bardzo
komentarz 17 października 2017 przez Bartlomiej Bywalec (2,480 p.)
Zrobiłem coś takiego :

https://codepen.io/anon/pen/Jrewxq?editors=1111

Może tak być? jakies uwagi?:D

Pytanie jeszcze jedno jak zrobić ze po kliknieciu gdziekolwiek niz na menu zniknie ta klasa(zniknie menu)?
komentarz 17 października 2017 przez zgrybus Pasjonat (24,780 p.)
https://codepen.io/anon/pen/mBQvwm
Zamiast contains, możesz użyc toggle i zmniejszasz ilość linijek.

Zmieniłem trochę twojego pena, przenalizuj. Jeśli masz pytania wal śmiało.
komentarz 17 października 2017 przez Bartlomiej Bywalec (2,480 p.)
Dzieki! rozumiem, mam tylko jedno, ta opcja :

 

window.addEventListener('click', function(evt){
  let target = evt.target;
  if(target !== btn && menu.classList.contains('active')) {
    menu.classList.remove('active');
  }

 

Jest spoko, ale ma 1 wadę, jeśli kliknie sie w jakiekolwiek pole w menu (np nie trafi sie w hrefa), to i tak sie zamknie menu, da rade zrobić tak zeby cale pole menu bylo klikalne i by sie nie zamykalo a dopiero po kliknieciu poza menu??
komentarz 17 października 2017 przez zgrybus Pasjonat (24,780 p.)
wydaje mi się, że trzeba sprawdzić, czy target należy do ul, tzn. czy ul jest rodzicem targeta lub jest nim w ogóle - zaraz zobacze. Po próbuj też :)
komentarz 17 października 2017 przez zgrybus Pasjonat (24,780 p.)
dodałem :P
komentarz 17 października 2017 przez Bartlomiej Bywalec (2,480 p.)
Dzieki wielkie :D tez znalazlem motyw z dodaniem drugiej klasy do display block:

.active, menu:hover {
  display: block;
}

Wtedy po kliknieciu gdzies w menu nie zamyka sie, lecz wada jest taka ze jak klikne gdzies w menu (nietrafie) i sciagne kursor za obszar menu, to znika :)
0 głosów
odpowiedź 17 października 2017 przez mtk3d Nałogowiec (40,230 p.)
JavaScript

W CSS ustawiasz to okienko tak jak chcesz i ukrywasz je przez JS, display:none.
0 głosów
odpowiedź 17 października 2017 przez Konrad Fx Mądrala (5,270 p.)
Jeden z prostych sposobów ;)

https://youtu.be/LZhqZYVSAf0

Na jego podstawie możesz srobić coś pod swoje wymagania.

 

Pozdrawiam Fx

Podobne pytania

0 głosów
1 odpowiedź 159 wizyt
0 głosów
2 odpowiedzi 91 wizyt
+2 głosów
8 odpowiedzi 642 wizyt
Porady nie od parady
Zadając pytanie postaraj się o szczegółowe opisanie problemu oraz udostępnienie wszystkich istotnych informacji (kody źródłowe, zrzuty ekranu itp.).Opisanie problemu

52,031 zapytań

94,889 odpowiedzi

193,425 komentarzy

25,356 pasjonatów

Przeglądających: 197
Pasjonatów: 11 Gości: 186

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...