[js] przerwanie pętli na onmouseout

HTML to podstawy w dziedzinie tworzenia stron WWW, Style CSS warto opanować, bowiem za ich pomocą można dostosować odpowiednio wygląd swojej witryny WWW. Zagłębiamy się dalej i udostępniamy w tym forum możliwość zadawania pytań o JavaScript.
ODPOWIEDZ
harold1982
Posty: 6
Rejestracja: czw gru 21, 2006 1:19 am

[js] przerwanie pętli na onmouseout

Post autor: harold1982 »

Jak (w praktyce) zrealizować przerwanie pętli w przypadku wystąpienia zdarzenia mouseout. Wiem, że można wywołać funkcję (pętlę) na mouseover przez setIntereval, a potem na mouseout zastosować clearIntereval(), ale nie o to chodzi. Dla wyjaśnienia powiem, ze chodzi o skrypt przewijający obrazek po najechaniu na link, z tym jednak, że obrazek jest przewijany póki znacznik znajduje się nad linkiem. Po zjechaniu z linka funkcja (lub pętla) powinna zostać przerwana. Jeśli ktoś zna jakiś inny sposób umożliwiający realizację czegoś takiego to proszę o sugestie, a najlepiej konkrety :)

PS Próbowalem AddEventListener, ale nie pomaga.
koziolek
Przelotem
Przelotem
Posty: 387
Rejestracja: sob paź 21, 2006 10:07 pm
Kontakt:

Re: [js] przerwanie pętli na onmouseout

Post autor: koziolek »

na onmouseover robisz dwie rzeczy. Zmieniasz flagę na true i uruchamiasz metodę przewijającą:

Kod: Zaznacz cały

onmouseover="flag=true; przewijaj()"
na onmouseout wystarczy zmienić flagę na false:

Kod: Zaznacz cały

onmouseout="flag=false;"
W kodzie js dodatkowo robisz jeden warunek:

Kod: Zaznacz cały

var flag=false;
function przewijaj(){
while(flag){
//tu obsługa przewijania
}
return;
}
Całość dział ale mam jedną uwagę. Na setInterval i clearInterval jest to zdecydowanie łatwiej i bezpieczniej zrobić niż na flagach i pętlach warunkowych
ODPOWIEDZ