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

question-closed Pomoc przy tworzeniu funkcji js

0 głosów
180 wizyt
pytanie zadane 16 czerwca 2020 w JavaScript przez Marak123 Stary wyjadacz (11,190 p.)
zamknięte 16 czerwca 2020 przez Marak123
Chcę zrobić funckje która będzie wyświetlała diva po najechaniu na jakiegoś innego diva i poczekaniu przez 1 sekunde. Wiem jak zrobić coś takiego ze po najechaniu ale nie wiem jak zrobić aby po 1 sekundzie się wyświetlił dopiero ten div. Wie ktoś jak zrobić taką funkcje?
komentarz zamknięcia: dzięki za pomoc

1 odpowiedź

+1 głos
odpowiedź 16 czerwca 2020 przez Michał Gibas Pasjonat (19,630 p.)
wybrane 16 czerwca 2020 przez Marak123
 
Najlepsza

Nie powinno się prosić o gotowce, ale mogę nakierować trochę. Polecam się zainteresować funkcjami setTimeout, setInterval. To powinno wyglądać mniej więcej tak(kod oczywiście niepełny, ja tylko podpowiadam schematycznie jak to mogło by być zrobione):

function showMyDiv() {
 //set css display property of my div to not none
}

element.on('click', () => { setTimeout(showMyDiv, 1000); });

Pozdrawiam!

 
komentarz 16 czerwca 2020 przez Marak123 Stary wyjadacz (11,190 p.)
znam te funkcje tylko że ja chcę zrobić tak że po najechaniu i odczekaniu 1s z kursorem na elemencie a nie po zwyczajnym najechaniu. Ja nie chcę zrobić właśnie tak jak pokazałeś bo ja najadę na element odczeka mi 1s i się wykona ta funkcja podana i to zadziała nawet w tedy gdy zabiorę kursor z elementu. Ja chcę zrobić tak ze jak najadę i poczekam z kursorem na elemencie to w tedy mi pokaże diva
komentarz 16 czerwca 2020 przez Michał Gibas Pasjonat (19,630 p.)

Dobra, teraz rozumiem o co chodziło ;P :) Musisz zapisać timeout w jakiejś zmiennej i jeśli zajdzie event 'mouseout' to wtedy zrobić clearTimeout(timeout):

https://www.w3schools.com/jsref/met_win_cleartimeout.asp

https://www.w3schools.com/jsref/event_onmouseout.asp

Coś w tym stylu:

let timeout;
element.onmouseover = () => { timeout = setTimeout(showMyDiv, 1000); };
//'czyścimy' timeout przy event'cie 'mouseout'
element.onmouseout = () => { clearTimeout(timeout); }; 

 

 
1
komentarz 16 czerwca 2020 przez Marak123 Stary wyjadacz (11,190 p.)
a ok dzięki nie wiedziałem ze istnieje coś takiego jak clearTimeout ale już wiem dzięki za pomoc

Podobne pytania

0 głosów
1 odpowiedź 153 wizyt
pytanie zadane 6 czerwca 2020 w JavaScript przez Marak123 Stary wyjadacz (11,190 p.)
0 głosów
1 odpowiedź 300 wizyt
pytanie zadane 4 grudnia 2020 w JavaScript przez hihijsonel Obywatel (1,250 p.)
0 głosów
2 odpowiedzi 545 wizyt

93,427 zapytań

142,421 odpowiedzi

322,649 komentarzy

62,787 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...