Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js]menu rozwijane
misty
post
Post #1





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

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


hej!
wiem ze temat na forum byl poruszany setki razy i niby cala masa na ten temat na googlach..
ale ludzie podsylaja sobie wszedzie gotowce albo proponuja dolaczenie swoich skryptow..
musze zrobic menu rozwijane (tzn. jak najade na element to ma sie pojawic lista-podmenu).
nie chce korzystac z gotowych rozwiazan ktorych jest cala masa bo nic sie wtedy nie naucze.
czy ktos z Was moglby polecic mi prosty kurs/sposob na zrobienie takiego menu? w javascript..
z gory dzieki!
i mam nadz ze nie rozzloscilam mocno moderatorow poruszajac po raz kolejny ten watek (na prawde przejrzalam wczesniej watki na ten temat na tym forum..)

pzdr!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
misty
post
Post #2





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

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


tak miales racje.. przyznaje ze nie przejrzalam strony zbyt dokladnie, angielskie teksty czasem mnie odstraszaja a na pierwszy rzut oka nie wygladalo to na to czego szukam..
zwracam honor i na prawde dzieki za pomoc!!!

jedno tylko jeszcze pytanie.. co z ta pseudoklasa 'hover'? bo raz dziala a raz nie.. tzn. dodam jakis komentarz albo cos dopisze i nagle wogole przestaje mi dzialac.. testuje na firefoxie i konqueror i dziala tak bardzo w kratke..

mam jeszcze takie 2 pytania z racji tego ze sposob ten jest bardzo zalezny od przegladarek..
1. jest tam dodana pewna funkcja w java_script ktora trzeba dodac by to chodzilo pod IE.
kod tej fkcji:

<script type="text/javascript"><!--//--><![CDATA[//><!--

sfHover = function() {
var sfEls = document.getElementById("nav").getElementsByTagName("LI");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=" sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
}
}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

//--><!]]></script>" title="Zobacz w manualu PHP" target="_manual



nie wiem czemu, ale w miejscu for (var i=0; i<sfEls.length; i++)" title="Zobacz w manualu PHP" target="_manual, tu gdzie zaczyna sie znak '<' jest to troche inaczej interpretowane.. tak jakbym miala wstawic tam jakis znacznik, albo wpisac np. <script>. po prostu od tego momentu kod nie jest intepretowany prawidlowo..

2. druga sprawa, to w przegladarkach takich jak mozzila i firefox nie znikaja mi te 'kropki' ktore nadaja znaczki ul i li. (pod konqerorem z kolei ladnie ich nie widac). chcialabym je ukryc.. tylko nie do konca wiem jak..
podsylam moj kod:

  1. <style type="text/css">
  2.  
  3. #menu, #menu ul {
  4. padding: 0;
  5. margin: 0;
  6. list-style: none;
  7. }
  8. #menu a {
  9. display: block;
  10. width: 15em;
  11. }
  12.  
  13. #menu li {
  14. float: left;
  15. width: 15em;
  16. font-size:15;
  17.  
  18. }
  19.  
  20. #menu li ul {
  21. position : absolute;
  22. width: 15em;
  23. left: -999em;
  24. }
  25.  
  26. #menu li:hover ul, #menu li.sfhover ul {
  27. left: auto;
  28. }
  29.  
  30. </style>
  31.  
  32. <!-- teraz funkcja w javascripcie ktora musi byc zeby pod IE dzialalo..-->
  33.  
  34. <script type="text/javascript">
  35.  
  36. sfHover = function()
  37. {
  38. var sfEls = document.getElementById("menu").getElementsByTagName("LI");
  39.  
  40. for (var i=0; i<sfEls.length; i++) <!--wlasnie w tym miejscu przy znaku '<' kod nie jest dalej interpretowany jako funkcja..-->
  41.  
  42. {
  43. sfEls[i].onMouseOver=function()
  44. {
  45. this.className+="sfhover";
  46.  
  47. }
  48. sfEls[i].onMouseOut=function()
  49. {
  50. this.className=this.className.replace(new RegExp("sfhover\\b"),"");
  51. }
  52. } }
  53.  
  54. if (window.attachEvent) window.attachEvent("onload", sfHover);
  55. </script>
  56.  
  57. </head>
  58. <ul id="menu">
  59. <table border><tr><td>
  60. <li><a href="#"><center>jeden</center></a>
  61. <ul><table border><tr><td>
  62. <li><a href="#"><center>jeden.jeden</center></a></li>
  63. <li><a href="#"><center>jeden.dwa</center></a></li>
  64. <li><a href="#"><center>jeden.trzy</center></a></li></td></td></tr></table>
  65. </ul>
  66. </li>
  67.  
  68. <td><li><a href="#"><center>dwa</center></a>
  69. <ul><table border><tr><td>
  70. <li><a href="#"><center>dwa.jeden</center></a></li>
  71. <li><a href="#"><center>dwa.dwa</center></a></li></td></td></tr></table>
  72. </ul>
  73. </li>
  74.  
  75. <td><li><a href="#"><center>trzy</center></a>
  76. <ul><table border><tr><td>
  77. <li><a href="#"><center>trzy.jeden</center></a></li>
  78. <li><a href="#"><center>trzy.dwa</center></a></li></td></td></tr></table>
  79. </ul>
  80. </li>
  81. </body>
  82. </html>



ma ktos z Was moze pomysl? jak to ulepszyc pod IE by dzialalo i jak pozbyc sie tych kropek?

Ten post edytował misty 26.03.2007, 11:51:02
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.12.2025 - 16:33