• 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

Staż IT w Comarch
0 głosów
127 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 (23,120 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 (23,120 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 (23,120 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 (23,120 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 (39,920 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 Gaduła (4,770 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ź 144 wizyt
0 głosów
2 odpowiedzi 81 wizyt
+2 głosów
8 odpowiedzi 593 wizyt
Porady nie od parady
Możesz zmodyfikować, zamknąć lub ukryć swoje pytanie, za pomocą przycisków znajdujących się pod nim. Nie krępuj się poprawić pochopnie opublikowanego pytania czy zamknąć go po uzyskaniu satysfakcjonującej odpowiedzi. Umożliwi to zachowanie porządku na forum.
Ciekawy innych porad? Odwiedź tę stronę!

48,520 zapytań

90,114 odpowiedzi

181,385 komentarzy

23,478 pasjonatów

Przeglądających: 119
Pasjonatów: 1 Gości: 118

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.

...