Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [js]Rozwijane menu
Glarden
post 16.12.2007, 15:08:55
Post #1





Grupa: Zarejestrowani
Postów: 153
Pomógł: 2
Dołączył: 28.05.2007
Skąd: Stamtąd

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


Hej ho!
Mam taki oto kod:
  1. ID=setTimeout("ukryj()", 1000);
  2. function ukryj() {
  3. div = document.getElementById("lista");
  4. div.style.visibility = "hidden";
  5. }
  6.  
  7. function pokaz() {
  8. div = document.getElementById("lista");
  9. div.style.visibility = "visible";
  10. }
  11. <a href="#" onMouseOver="javascript:pokaz();" onMouseOut="javascript:ukryj();">Hejmejowie</a>
  12. <div onMouseOver="javascript:pokaz();" onMouseOut="javascript:ukryj();" id="lista">
  13. <li><a href="#">Tatucho</a></li>
  14. <li><a href="#">Mamucha</a></li>
  15. <li><a href="#">Martucha</a></li>
  16. <li><a href="#">Tomek</a></li>
  17. <li><a href="#">Olucha</a></li>
  18. </div>


Chodzi tu o to, żeby po najechaniu na odnośnik rozwijała się lista innych odnośników. Wszystko działa jak należy, ale chciałbym zrobić coś takiego, że po zjechaniu z odnośnika lista odnośników znika dopiero po sekundzie, a nie od razu.
Powinno być coś z setTimeOut, tak? Próbowałem, ale nie udawało się...


--------------------
Raz, dwa, trzy, baba Jaga patrzy!
http://trelemorele.cba.pl
Go to the top of the page
+Quote Post
b_chmura
post 16.12.2007, 16:11:05
Post #2





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


Kod
<script>
    function ukryj()
    {
        div = document.getElementById("lista");
        div.style.visibility = "hidden";
    }
    function pokaz()
    {
        div = document.getElementById("lista");
        div.style.visibility = "visible";
    }
</script>
<body onload="javascript: ukryj()">
    <a href="#" onMouseOver="javascript: pokaz();">Hejmejowie</a>
    <div onMouseOut="javascript: setTimeout('ukryj()', 1000);" id="lista">
        <li><a href="#">Tatucho</a></li>
        <li><a href="#">Mamucha</a></li>
        <li><a href="#">Martucha</a></li>
        <li><a href="#">Tomek</a></li>
        <li><a href="#">Olucha</a></li>
    </div>
</body>
Go to the top of the page
+Quote Post
Glarden
post 26.01.2008, 11:00:42
Post #3





Grupa: Zarejestrowani
Postów: 153
Pomógł: 2
Dołączył: 28.05.2007
Skąd: Stamtąd

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


Działa! Dzięki.

Tylko teraz mam inny problem. Jest ten sam skrypt js, ale chciałbym, żeby pojawiające się menu było daleko od odnośnika, żeby go "nie dotykało". Ustawiłem to sobie w css, ale teraz menu znika zanim myszka zdąży tam dojechać.
Nie mam pojęcia, jak to naprawić.
Możecie to zobaczyć tu: http://sokoly.ddl2.pl/eksperymentus/szablon/. Przy odnośniku download.

Ten post edytował Glarden 26.01.2008, 11:02:12


--------------------
Raz, dwa, trzy, baba Jaga patrzy!
http://trelemorele.cba.pl
Go to the top of the page
+Quote Post
b_chmura
post 26.01.2008, 12:14:40
Post #4





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


a gdzie setTimeout()?

Kod
onMouseOut="javascript: setTimeout('ukryj()', 1000);"
Go to the top of the page
+Quote Post
Glarden
post 26.01.2008, 12:59:25
Post #5





Grupa: Zarejestrowani
Postów: 153
Pomógł: 2
Dołączył: 28.05.2007
Skąd: Stamtąd

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


Zrobiłem, ale teraz jest tak, że nadążam najechać na menu, ale po sekundzie od zjechania z odnośnika menu i tak znika, bo tak jest zrobiona funkcja.
Edit: dobra, nie chciało mi się myśleć i zrobiłem na kliknięcie, a nie na najechanie. Nie wygląda tak źle.
Można zamknąć

Ten post edytował Glarden 26.01.2008, 13:13:44


--------------------
Raz, dwa, trzy, baba Jaga patrzy!
http://trelemorele.cba.pl
Go to the top of the page
+Quote Post
b_chmura
post 26.01.2008, 13:37:16
Post #6





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


trochę źle do tego podchodzimy.

Kod
<script>
    function ukryj(id)
    {
        div = document.getElementById(id);
        div.style.display = "none";
    }
    function pokaz(id)
    {
        div = document.getElementById(id);
        div.style.display = "";
    }
</script>
<body onload="ukryj('menu1');">
<div onMouseOver="pokaz('menu1');" onMouseOut="setTimeout('ukryj(\'menu1\')', 1000);">
    <a href="#">Hejmejowie</a>
    <div id="menu1">
        <a href="#">Tatucho</a><br />
        <a href="#">Mamucha</a><br />
        <a href="#">Martucha</a><br />
        <a href="#">Tomek</a><br />
        <a href="#">Olucha</a><br />
    </div>
</div>
</body>


ee, testowałem, nie działa.
Zaraz coś wykombinuje.

Ten post edytował b_chmura 26.01.2008, 13:57:17
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: 16.06.2025 - 21:39