Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> stopniowe opacity w menu
MitS
post 1.09.2007, 09:58:49
Post #1





Grupa: Zarejestrowani
Postów: 262
Pomógł: 5
Dołączył: 8.02.2005
Skąd: Olsztyn / Zatorze

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


witam wszystki,

mam malutki problem ....
otóż probowalem sobie zrobić na stronie menu, w którym po najechaniu myszą zmienia się kolor.
I oczywiście takie coś zrobiłęm bo to nie problem:

Kod
function changeColorMenu(id, show){
    var menu = document.getElementById("m"+id);
    
    if(show == 1){
        menu.style.backgroundColor = "#0c1125";
    }
    else{            
        menu.style.backgroundColor = "#f7f7f7";
    }
}


menu w htmlu wygląda tak:
Kod
echo '
    <div id="m0" class="menuPosition" onmouseover="changeColorMenu(0, 1)" onmouseout="changeColorMenu(0, 0)">
        <h1>
            menu 1
        </h1>
    </div>
    <div id="m1" class="menuPosition" onmouseover="changeColorMenu(1, 1)" onmouseout="changeColorMenu(1, 0)">
        <h1>
            menu 2
        </h1>
    </div>
    <div id="m2" class="menuPosition" onmouseover="changeColorMenu(2, 1)" onmouseout="changeColorMenu(2, 0)">
        <h1>
            menu 3
        </h1>
    </div>



z tymże szybko takie menu mi się znudziło bo jak zauważyłem jest "zbyt proste" i wpadłem na pomysł by po najechaniu myszy kolor był stopniowo nadawany (czyli od koloru: #f7f7f7 do koloru #0c1125 przechodziło by w ciągu około sekundy). No i niestety wiele prób przeprowadziłem ale niestety wszystko zakończyło się fiaskiem ....

próbowałem z setTimeout i style.filter oraz opacity .... niestety się nie udało ...
chciałem was prosić o napisanie mi jak mógłbym dokonać tego co napisałem wyżej ?

Pozdrawiam

Ten post edytował MitS 1.09.2007, 10:01:48
Go to the top of the page
+Quote Post
skowron-line
post 1.09.2007, 11:40:17
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


no to moze pokaz co sam napisales i my ci wskarzemy blad a nie "napiszcie mi"


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
MitS
post 1.09.2007, 14:12:57
Post #3





Grupa: Zarejestrowani
Postów: 262
Pomógł: 5
Dołączył: 8.02.2005
Skąd: Olsztyn / Zatorze

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


ok wiec probowalem tego typu patenty:

Kod
function changeColorMenu(id, show){
    var menu     = document.getElementById("m"+id);
    var time     = 2;
    
    if(show == 1){
        if(time < 10){
            menu.style.backgroundColor = "#0c1125";
            menu.style.opacity    = '1.0' + time;
            menu.style.filter        = "Alpha(Opacity=" + time + "100)";
        
            time += 2;
            setTimeout(changeColorMenu, 0, true);
        }
    }
    else{
        if(time != 0){
            menu.style.backgroundColor = "#f7f7f7";
            menu.style.opacity= '0.' + time;
            menu.style.filter="Alpha(Opacity=" + time + "0)";
            
            time -= 2;
            setTimeout(changeColorMenu, 10, true);
        }
    }
}


niestety nie udało mi się otrzymać zamierzonego efektu ...
Go to the top of the page
+Quote Post
zbig
post 5.09.2007, 22:08:11
Post #4





Grupa: Zarejestrowani
Postów: 144
Pomógł: 30
Dołączył: 5.05.2007
Skąd: Mannheim

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


Przede wszystkim wyrzuc zmienna time przed funkcje bo z kazdym wywolaniem funkcji twoja zmienna ma taka sama wartosc,
po drugie na wszelki wypadek nadaj jej jakas normalniejsza nazwe, time w wielu jezykach jest nazwa zastrzezona( ale w js niekoniecznie smile.gif),
no i wartosc timeout (0?) w setTimeout nie wiem co miales na mysli
Mozesz rowniez uzyc gotowe efecty Effect.Appear i Effect.Fade ze scriptaculousa tutaj link


--------------------
Flash Flex PHP JAVA RED5 http://www.easyweb24.net
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: 29.06.2025 - 14:19