Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JQuery] Hover + Unbind + Click + Bind
buggie
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 24.08.2009
Skąd: Kraków

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


Witam,
cały dzisiejszy dzień męczę się z problemem zakodowania animacji guzików w JQuery. Guziki maja działać tak:
1. po najechaniu - zmiana tła
2. po zjechaniu - zmiana tła na wcześniejsze
3. po kliknęciu i rozjechaniu się akordeonu - zmiana tła (na to co po najechaniu - pkt. 1)
4. po kliknięciu w inny guzik (zwinięcie się akordeonu i rozwinięcie w innym miejscu) - zmiana tła poprzedniego guzika (na to z pkt. 2)

Prawie wszystko działa poza tym, że jak już się kliknie w guziki, usuwam hovery, żeby się nie nałożyły na click(), i jak klikam w kolejny guzik to niestety hovery nie wracają na starym guziku (IMG:style_emoticons/default/smile.gif)
Może źle próbuję przywrócić hovery?

troche to zamotane... (IMG:style_emoticons/default/smile.gif) kod poniżej. Może jakieś pomysły ?

  1. globalvariable = "";
  2.  
  3. $("#accordion h2").hover(
  4. function () {
  5. $(this).css({'background-color':'#fed906'});
  6. },
  7. function () {
  8. $(this).css({'background-color':'#28578f'});
  9. }
  10. ).mousedown(function()
  11. {
  12. if(globalvariable != ""){
  13. $(globalvariable).css({'background-color':'#28578f'});
  14. $(globalvariable).bind('mouseover');
  15. $(globalvariable).bind('mouseout');
  16. //alert(globalvariable);
  17. //return false;
  18. }else{
  19. //alert("pusty");
  20. //return false;
  21. }
  22.  
  23. }).mouseup(function()
  24. {
  25. globalvariable = "#"+$(this).attr('id');;
  26. $(globalvariable).unbind('mouseover');
  27. $(globalvariable).unbind('mouseout');
  28. $(globalvariable).css({'background-color':'#fed906'});
  29.  
  30. });
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Co to jest to globalvariable?
Go to the top of the page
+Quote Post
buggie
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 24.08.2009
Skąd: Kraków

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


to jest zmienna, która przyjmuje jako wartość ID guzika.
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Wystaw gdzieś całość działającą, nie po to mamy debuggery, żeby z nich nie korzystać.
Go to the top of the page
+Quote Post
buggie
post
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 24.08.2009
Skąd: Kraków

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


Hej, problem rozwiązany inny sposobem (IMG:style_emoticons/default/smile.gif)

  1. (function($){
  2. $.fn.myhover={
  3. current:null,
  4. currentSub:null
  5. }
  6. })(jQuery);
  7.  
  8.  
  9. $(document).ready(function() {
  10.  
  11. $("#accordion h2").mousedown(function()
  12. {
  13. if($.fn.myhover.current!=null){
  14. $("#"+$.fn.myhover.current).css({'background-color':'#28578f'});
  15. }
  16. $(this).css({'background-color':'#fed906'});
  17. $.fn.myhover.current=$(this).attr('id');
  18.  
  19. })
  20.  
  21. $("#accordion h2").hover(
  22. function () {
  23. if($(this).attr('id')!=$.fn.myhover.current){
  24. $(this).css({'background-color':'#fed906'});
  25. }
  26. },
  27. function () {
  28. if($(this).attr('id')!=$.fn.myhover.current){
  29. $(this).css({'background-color':'#28578f'});
  30. }
  31. }
  32. );
  33.  
  34. })(jQuery);


Pozdrawiam.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 10:29