Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> menu
mundek88
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 26.04.2007

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


Witajcie,
pootrzebuję pilnie stworzyć menu działające identycznie jak na http://mootools.net/ (chodzi o te kolorowe duże menu)
Jako że w JS jestem laikiem po kilku męcząych godzinach pracy napisałem coś takiego:
Kod
<script>
animeInt=null;
odlicz=0;
blokada=0;

function powieksz(ktore)
{
        if (blokada==0){
        odlicz++;
        
        // glowny
        objl=document.getElementById("element_"+ktore);
        objl.style.width = parseInt(objl.style.width) + 8 + 'px';    
        
        //nastepne
        for (i=ktore; i<4; i++){
        obj=document.getElementById("element_"+eval(ktore+i));
        obj.style.width = parseInt(obj.style.width) - 1 + 'px';  }

        animeInt=setTimeout("powieksz("+ktore+")", 3)
        }
        if (odlicz==10) {clearTimeout(animeInt); blokada=1;}  
        window.status=odlicz+", "+blokada;
}

function zmniejsz(ktore)
{  
        if (blokada==1){
        odlicz--;
        
        // glowny
        objl=document.getElementById("element_"+ktore);
        objl.style.width = parseInt(objl.style.width) - 8 + 'px';    

        
        //nastepne
        for (i=ktore; i<4; i++){
        objp=document.getElementById("element_"+eval(ktore+i));
        objp.style.width = parseInt(objp.style.width) + 1 + 'px';  }
        

        animeInt=setTimeout("zmniejsz("+ktore+")", 3)
        }    
        
        if (odlicz==0) { blokada=0; clearTimeout(animeInt);}  
        window.status=odlicz+", "+blokada;
}


</script>


    <font color=white>

<div id="element_4" class="menu"  style="float:left;  width:90px; position:relative; left:0px; background-color:black;"></div>

<div id="element_5" class="menu"  style="float:left;  width:90px; position:relative; left:0px; background-color:black;"></div>

<div id="element_6" class="menu"  style="float:left;  width:90px; position:relative; left:0px; background-color:black;"></div>



<table><tr>
<td id="element_0" class="menu" onmouseover="powieksz(0)" onmouseout="zmniejsz(0)" style=" width:90px; min-width:90px; background-color:white;">111111111</td>

<td id="element_1" class="menu" onmouseover="powieksz(1)" onmouseout="zmniejsz(1)" style=" width:90px; min-width:90px; background-color:white;">111111111</td>

<td id="element_2" class="menu" onmouseover="powieksz(2)" onmouseout="zmniejsz(2)" style=" width:90px; min-width:90px; background-color:white;">111111111</td>

<td id="element_3" class="menu" onmouseover="powieksz(3)" onmouseout="zmniejsz(3)" style=" width:90px; min-width:90px; background-color:white;">111111111</td>

</tr></table>

</font>


^ działanie skryptu odbiega od tego na którym się wzoruje.
Dlatego zwracam się do Was z ogromną prośbą pomocy.

Z góry serdcznie dziękuje i czekam na odpowiedź, pozdrawiam..
Go to the top of the page
+Quote Post
php programmer
post
Post #2





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


Najlepiej ściągnij sobie całą stronkę (Plik->Zapisz Jako -> Strona www, kompletna),
a potem wydziel sobie jedynie część kodu
zawierającą menu.

Ten post edytował php programmer 26.04.2007, 10:55:52
Go to the top of the page
+Quote Post
mundek88
post
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 26.04.2007

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


tak właśnie kombinowałem, ale to menu jest oparte na JavaScript'owej bibliotece mootools - która waży 45kB (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) więc nie ma sensu dla samego menu zwiększać o tyle objętość kodu.
Go to the top of the page
+Quote Post
php programmer
post
Post #4





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


45 KB, no bez przesady to nie jest dużo,
a oszczędzi ci mnóstwo czasu - po to są biblioteki,
skoro autorzy strony wybrali takie rozwiązanie,
dlaczego Ty byś nie miał zrobić tak samo

Ten post edytował php programmer 26.04.2007, 10:59:04
Go to the top of the page
+Quote Post
mundek88
post
Post #5





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 26.04.2007

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


bo to jest strona poświęcona właśnie tej bibliotece (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Autorzy pokazali w ten sposób jej możliwości.
Jestem pewien że można by to napisać w ~10kB, 45kB zwiekszy mi dość znacznie rozmiar index'u..
Go to the top of the page
+Quote Post
vokiel
post
Post #6





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Nie wnikałem w kod tej biblioteki, ale zapewne cały nie jest tylko do tego menu, zatem może warto go przejrzeć i wyciągnąć te części, które przydadzą sie w Twoim projekcie, reszty sie pozbyć, albo przynajmniej bedziesz wiedzial jak to zostało zrobione, będzie sie na czym wzorować

pzdr
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: 15.09.2025 - 02:23