Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zbajerowane menu :)
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Black-Berry
Już dawno chciałem się za to zabrać i w końcu kiedy udało mi się znaleźć trochę czasu zrobiłem generator 3 stopniowego menu poziomego w JavaScript...

A oto przykładowe menu z ładnym Css-em: klik

Zastanawiam się jednak czy nei przesadziłem z czymś lub w jakimś miejscu poprostu popełniłem kluczowy bład bo skrypt używa dość sporo czasu procesora. W IE i Operze tego moze nie widać ale na moim laptopie (800MHz) zchodzi 100% procesora w Firefoxsie.

Czy to wina Firefoxa, JavaScript-u czy moja ?
phpion
Może nie do końca trafię w Twoje pytanie ale napiszę coś nt. tego menu. Jeśli faktycznie działa jak mół to raczej to Twoja wina. Myślałem, że zobaczę tu jakieś animacje, przejścia, które mogłyby całość spowolnić, jednak niczego takiego tu nie ma. Jest to po prostu zwykłe menu rozwijane. Poza tym moim zdaniem popełniłeś jeden zasadniczny błąd. Odpal sobie stronkę z wyłączoną obsługą JS. I co? Nic. Ja jestem zwolennikiem tworzenia menu na liście <ul> bezpośrednio w HTML, natomiast później odpalany jest skrypt ukrywający odpowiednie elementy i przypisujący akcje do poszczególnych elementów. Dzięki temu w źródle mam normalne menu, natomaist działa ono jak rozwijane. Przykład: http://www.wappler.eu/scriptaculous/horizo...wnmenu/menu.htm o coś takiego mi chodzi.

PS: zamiast onlick dałbym onmouseover bo tak to nie wiadomo na pierwszy rzut oka, że to się rozwija winksmiley.jpg
woj_tas
A nie łatwiej byłoby bez js:
suckerfish
sniezny_wilk
Cytat(woj_tas @ 20.04.2008, 12:17:08 ) *
A nie łatwiej byłoby bez js:
suckerfish


i tak ma JS
Cytat(www.htmldog.com)
And that will sort out everything for those browsers that fully support the :hover pseudo class, but for Internet Explorer we need to set the Suckerfish JavaScript loose:


I wydaje mi się, że lepiej to zrobić z JS, jeśli masz takie obciążenie to na pewno jest wina kodu. Jest wiele dobrych i sprawdzonych rozwiązań, do takich i podobnych efektów polecam stronkę mootools
Black-Berry
Dzięki za sugestie i uwagi,
niestety obo podane przez was przykłady zmulają jeszcze bardziej niż to moje menu więc chyba narazie wstrzymam się z modyfikacjami. (Obciążenie procesora przy przelądaniu w firefoxsie na pentium 850MHz sięga 100%, a na core 2 duo 1,8GHz prawie 50 - czyli cały jeden rdzeń).

Moje menu to również lista
  1. <menu>
  2. <li><a>item 1</a></li>
  3. <li><a>item 2</a></li>
  4. </menu>

Nie widac tego w kodzie bo jest generowana funkcją create_menu_item(); Dzęki takiemu rozwiązniu mogę generowac je przy pomocy PHP w wygodny sposób.

Cytat
PS: zamiast onlick dałbym onmouseover bo tak to nie wiadomo na pierwszy rzut oka, że to się rozwija

Hehe... napisałem to menu bo miałem wczesniej takie które było onmouseover i strasznie mnie denerwowało smile.gif Ciekawe jak inni reagują na onclick... Mógłby ktoś jeszcze napisac co jest lepsze jego zdaniem: onclick czy mouseover ? Zależy mi na intuicyjności.
largo3
Cytat(Black-Berry @ 20.04.2008, 16:46:56 ) *
Hehe... napisałem to menu bo miałem wczesniej takie które było onmouseover i strasznie mnie denerwowało smile.gif Ciekawe jak inni reagują na onclick... Mógłby ktoś jeszcze napisac co jest lepsze jego zdaniem: onclick czy mouseover ? Zależy mi na intuicyjności.

Szczerze mówiąc to byłem trochę zdezorientowany kiedy menu nie rozwijało mi się pod kursorem. Dlatego IMHO lepszym wyjściem jest mouseover chociaż potrafi być denerwujące. ;-)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.