Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Jquery - podświetlany blok
adam882
post 14.12.2011, 10:12:20
Post #1





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

Ostrzeżenie: (0%)
-----


Witam

Mam taki kod:
  1. $("div#typ_in").mouseover(
  2. function()
  3. {
  4. $("div#wybierz").fadeIn("fast",
  5. function()
  6. {
  7. $("div#wybierz").css('display','inherit');
  8. }
  9. );
  10.  
  11.  
  12. }).mouseout(
  13. function()
  14. {
  15. $("div#wybierz").fadeOut("fast",
  16. function()
  17. {
  18. $("div#wybierz").css('display','none');
  19. });
  20. });

  1. <!-- element o ID wybierz ma domyślnie atrybut "display:none" -->
  2. <div id="typ_in">
  3. <div id="typ"><a href="#">Wybierz typ</a></div>
  4. <div id="wybierz">
  5. <div id="w_blok">
  6. <a href="#">? Oferuję</a>
  7. <a href="#">? Poszukuję</a>
  8. </div>
  9. </div>
  10. </div>
  11. </div>
  12.  

Chcę zrobić tak, aby po najechaniu na "Wybierz typ" pojawiło się okienko "wybierz". Udało mi się to zrobić, ale gdy chciałem dodać efekt "fade" pojawiły się problemy - mianowicie jeżeli zaznaczę kursorem link "Wybierz typ" i odjadę nim, to prawie za każdym razem okienko przy zamykaniu kilka razy "mruga". Co może być źle w kodzie?

Ten post edytował adam882 14.12.2011, 10:12:56
Go to the top of the page
+Quote Post
zegarek84
post 14.12.2011, 11:09:13
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


identyczny problem choć z inną funkcją:
jquery zapamiętywanie triggerów


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
adam882
post 14.12.2011, 11:43:40
Post #3





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

Ostrzeżenie: (0%)
-----


Zrobiłem tak:
[JAVASCRIPT] pobierz, plaintext
  1. var lock = false, lock2 = false;
  2. $("div#typ_in").mouseover(
  3. function()
  4. {
  5. !lock && $("div#wybierz").fadeIn("fast",
  6. function()
  7. {
  8. $("div#wybierz").css('display','inherit');
  9. lock = true;
  10. }
  11.  
  12.  
  13.  
  14. );
  15.  
  16.  
  17. }).mouseout(
  18. function()
  19. {
  20. if(lock){
  21. !lock2 && $("div#wybierz").fadeOut("fast",
  22. function()
  23. {
  24. $("div#wybierz").css('display','none');
  25. });
  26. lock2 = true;
  27. }
  28. });
  29.  
[JAVASCRIPT] pobierz, plaintext

Po najechaniu na link, blok wyświetla się, ale po najechaniu na ten blok - znika. Zaraz potem w ogóle nie chce się wyświetlać.

Ten post edytował adam882 14.12.2011, 12:07:12
Go to the top of the page
+Quote Post
zegarek84
post 14.12.2011, 12:58:46
Post #4





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


kod poprawiam ci na "pałę" - nie zamierzam analizować jeśli Tobie nie chce się zrozumieć o co chodzi i niemal skopiować z tamtego tematu ;p
[JAVASCRIPT] pobierz, plaintext
  1. var lock = false, lock2 = false;
  2. $("div#typ_in").mouseover(
  3. function()
  4. {
  5. !lock && $("div#wybierz").fadeIn("fast",
  6. function()
  7. {
  8. $("div#wybierz").css('display','inherit');
  9.  
  10. }
  11. );
  12. lock = true;
  13.  
  14. }).mouseout(
  15. function()
  16. {
  17. if(lock){
  18. !lock2 && $("div#wybierz").fadeOut("fast",
  19. function()
  20. {
  21. $("div#wybierz").css('display','none');
  22. lock=lock2=false;
  23. });
  24.  
  25. }
  26. lock2 = true;
  27. });
  28.  
[JAVASCRIPT] pobierz, plaintext

nie gwarantuję, że zadziała - trochę wcięcia masz kiepskie to może delikatnie w złe miejsca wstawiłem ;p



--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 06:53