Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z menu
molek55
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 3.05.2010

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


Witam
Posiadam skrypt strony z filmami. Jest tam możliwość dodania podkategorii. Rozwijają się one podczas najechania na kategorię główną i znikają po zjechaniu myszką na inny element. Jest to strasznie denerwujące. Proszę o pomoc. Nie jestem pewny ale możliwe że w tym fragmencie php jest wiersz za to odpowiedzialny. Chciałbym żeby podkategorie były ciągle rozwinięte lub żeby rozwijały się po kliknięciu.

  1. // subcategories
  2. $subcats_count = 0;
  3. $subcats = '';
  4. foreach($categories_array as $cat_id2 => $subcat_arr)
  5. {
  6. if($subcat_arr['parent_id'] == $cat_id && ($cat_id2 != $cat_id))
  7. {
  8. $subcats_count++;
  9.  
  10. if(_SEOMOD == 1)
  11. {
  12. $caturl = _URL."/browse-".$subcat_arr['tag']."-videos-1-date.html";
  13. }
  14. else
  15. {
  16. $caturl = _URL."/category.php?cat=".$subcat_arr['tag'];
  17. }
  18. if($subcat_arr['id'] == $selected)
  19. {
  20. $subcats .= "<li class=\"selectedsubcat\"><a href=\"".$caturl."\">".$subcat_arr['name']."</a></li>";
  21. }
  22. else
  23. {
  24. $subcats .= "<li><a href=\"".$caturl."\">".$subcat_arr['name']."</a></li>";
  25. }
  26. }
  27. }
  28.  
  29. // href
  30. if(_SEOMOD == 1)
  31. {
  32. $caturl = _URL."/browse-".$cat_arr['tag']."-videos-1-date.html";
  33. }
  34. else
  35. {
  36. $caturl = _URL."/category.php?cat=".$cat_arr['tag'];
  37. }
  38. // li
  39. $li_item = "";
  40. if($cat_arr['id'] == $selected)
  41. {
  42. $li_item .= '<li class="selectedcat"';
  43. }
  44. else
  45. {
  46. $li_item .= '<li';
  47. }
  48. $li_item .= '><a href="'.$caturl.'">'.$cat_arr['name'].'</a>';
  49.  
  50. if($subcats_count > 0)
  51. {
  52. $li_item .= '<ul class="hidden_li">'.$subcats.'</ul>';
  53. }
  54. $li_item .= '</li>';
  55. // append
  56. $cats .= $li_item;
  57. }
  58. }
  59. // wrapper
  60. $cats = '<ul id="ul_categories">'.$cats.'</ul>';
  61. return $cats;
  62. }
  63.  
  64.  
  65. function list_subcategories($parent = '0', $selected)
  66. {
  67. if ($parent == '')
  68. {
  69. return '';
  70. }
  71.  
  72. $subcategories = '';
  73. $url = '';
  74.  
  75. $sql = "SELECT *
  76. FROM pm_categories
  77. WHERE parent_id = '". $parent ."'
  78. ORDER BY name ASC";
  79. $result = @mysql_query($sql);
  80. if ( ! $result)
  81. {
  82. return '';
  83. }
  84. while ($row = mysql_fetch_assoc($result))
  85. {
  86. if (_SEOMOD == 1)
  87. {
  88. $url = _URL."/browse-".$row['tag']."-videos-1-date.html";
  89. }
  90. else
  91. {
  92. $url = _URL."/category.php?cat=".$row['tag'];
  93. }
  94.  
  95. $subcategories .= ($row['id'] == $selected) ? '<li class="selectedcat">' : '<li>';
  96. $subcategories .= '<a href="'. $url .'">'. $row['name'] .' ('. $row['total_videos'] .')</a>';
  97. $subcategories .= '</li>';
  98.  
  99. }
  100. return $subcategories;
  101. }
  102.  
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


Taki efekt zwijania/rozwijania to javascript, sugerując się nazewnictwem zgaduję, że efekt jest przypisany do klasy hidden_li -> <ul class="hidden_li">, zapewne w pliku css też masz ustawione dlatego elementu dispaly:none

najlepiej usuń ten efekt w javascript

Ten post edytował tehaha 3.05.2010, 22:13:50
Go to the top of the page
+Quote Post
molek55
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 3.05.2010

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


Usunąłem z css display:none oraz w js miałem //theform.style.display='none'; również usunąłem i nic. Jest tak jak było.
Go to the top of the page
+Quote Post
krzysztof_kf
post
Post #4





Grupa: Zarejestrowani
Postów: 1 135
Pomógł: 158
Dołączył: 19.03.2009
Skąd: Toruń

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


Możesz podać url do strony z problemem ?
Go to the top of the page
+Quote Post
molek55
post
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 3.05.2010

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


Ta strona nie jest umieszczona jeszcze do wglądu publicznego, ewentualnie na pw wyślę.
Go to the top of the page
+Quote Post
krzysztof_kf
post
Post #6





Grupa: Zarejestrowani
Postów: 1 135
Pomógł: 158
Dołączył: 19.03.2009
Skąd: Toruń

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


Plik jquery.hover.js szukaj linijki na samym końcu

  1. .mouseout(handleHover);};})(jQuery);



zmień na

  1. .mouseout(handlerInOut);};})(jQuery);


efekt ci daje trwałe rozwinięcie menu ale więcej już ci ja osobiście nie pomogę ;/

Ten post edytował krzysztof_kf 4.05.2010, 13:04:52
Go to the top of the page
+Quote Post
molek55
post
Post #7





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 3.05.2010

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


(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:0,timeout:100};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY;};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math
.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev]);}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function()
{compare(ev,ob);},cfg.interval);}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIn
tent_s=0;return cfg.out.apply(ob,[ev]);};var handleHover=function(e){var p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode;}catch(e){p=this;}}if(p==this){return false;}var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);}if
(e.type=="mouseover"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}}
else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){dela
y(ev,ob);},cfg.timeout);}}};return this.mouseover(handleHover).mouseout(handleHover);};})(jQuery);


Mam coś takiego. Wie ktoś tak zmienić tą funkcję aby podkategorie były rozwinięte od razu.

Zmiana handleHover na handlerInOut nic nie zmieniła.

Ten post edytował molek55 4.05.2010, 14:03:09
Go to the top of the page
+Quote Post
krzysztof_kf
post
Post #8





Grupa: Zarejestrowani
Postów: 1 135
Pomógł: 158
Dołączył: 19.03.2009
Skąd: Toruń

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


zmień jeszcze raz na samym końcu z HandleHover NA

  1. .mouseout(handlerInOut);};})(jQuery);


i odśwież stronę . i powiedz kiedy to zapisałeś luknę

Ten post edytował krzysztof_kf 4.05.2010, 14:07:05
Go to the top of the page
+Quote Post
molek55
post
Post #9





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 3.05.2010

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


już zmieniłem
Go to the top of the page
+Quote Post
krzysztof_kf
post
Post #10





Grupa: Zarejestrowani
Postów: 1 135
Pomógł: 158
Dołączył: 19.03.2009
Skąd: Toruń

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


eee? tylko ostatnie nie obydwa tylko .mouseout exclamation.gif!! co ja ci pokazałem patrzymy

tzw tak to ma wyglądać

  1. mouseover(handleHover).mouseout(handlerInOut);};})(jQuery);


Ten post edytował krzysztof_kf 4.05.2010, 14:19:36
Go to the top of the page
+Quote Post
molek55
post
Post #11





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 3.05.2010

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


no teraz tak mam

w sumie już jest ok, jeżeli nie może być od razu rozwinięte

Dzięki za pomoc

Z menu jest już ok lecz teraz zauważyłem, że tabela "Filmy ogladane teraz" nie działa jak powinna.

Ten post edytował molek55 4.05.2010, 14:41:08
Go to the top of the page
+Quote Post
krzysztof_kf
post
Post #12





Grupa: Zarejestrowani
Postów: 1 135
Pomógł: 158
Dołączył: 19.03.2009
Skąd: Toruń

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


Cytat(molek55 @ 4.05.2010, 17:36:19 ) *
no teraz tak mam

w sumie już jest ok, jeżeli nie może być od razu rozwinięte

Dzięki za pomoc

Z menu jest już ok lecz teraz zauważyłem, że tabela "Filmy ogladane teraz" nie działa jak powinna.



To znaczy co konkretnie ? co jest nie tak .
Go to the top of the page
+Quote Post
molek55
post
Post #13





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 3.05.2010

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


Filmy które są aktualnie oglądane pokazuję się poniżej tabelki w której do tej pory były.
Go to the top of the page
+Quote Post
krzysztof_kf
post
Post #14





Grupa: Zarejestrowani
Postów: 1 135
Pomógł: 158
Dołączył: 19.03.2009
Skąd: Toruń

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


A co mieszałeś w css ? to nie jest na pewno wina javascript tylko coś zmąciłeś w css .

Ten post edytował krzysztof_kf 4.05.2010, 20:33:41
Go to the top of the page
+Quote Post
molek55
post
Post #15





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 3.05.2010

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


dispaly:none jedynie usunąłem
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 Aktualny czas: 21.08.2025 - 08:19