• 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

Ultraszybki serwer VPS NVMe START
0 głosów
99 wizyt
pytanie zadane 17 października 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 przez zgrybus Pasjonat (17,480 p.)
wybrane 17 października 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 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 przez zgrybus Pasjonat (17,480 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 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 przez zgrybus Pasjonat (17,480 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 przez zgrybus Pasjonat (17,480 p.)
dodałem :P
komentarz 17 października 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 przez mtk3d Nałogowiec (29,000 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 przez Konrad Fx Gaduła (4,130 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ź 107 wizyt
+1 głos
0 odpowiedzi 48 wizyt
0 głosów
2 odpowiedzi 70 wizyt

41,281 zapytań

80,221 odpowiedzi

158,700 komentarzy

19,710 pasjonatów

Przeglądających: 293
Pasjonatów: 30 Gości: 263

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.

...