ostatnimi czasy bawię się troszkę przy JavaScript i wpadł mi do głowy durny pomysł. Otóż wykorzystałem AJAX'a do ładowania tekstów do kontenera ale czułem pewien niedosyt i postanowiłem zrobić do tego mały efekt w którym kontener zaniknie, zostanie wczytany nowy tekst by następnie kontener się pojawił.
Co do wczytania tekstu to wszystko chodzi jak złoto ale mam problem ze znikaniem i pojawianiem się tekstu. Napisałem takie oto proste funkcje:
Kod: Zaznacz cały
function ukryjTresc()
{
for(i=10; i>=0; i--)
{
opacity(i);
}
}
function pokazTresc()
{
for(i=0; i<11; i++)
{
opacity(i);
}
}
function opacity(i)
{
$('tresc').style.opacity = i/10;
$('tresc').style.filter="Alpha(Opacity=" + i + "0)";
}
Kod: Zaznacz cały
function $(id)
{
return document.getElementById(id);
}W każdym razie tekst zanika i pojawia się ale stanowczo zbyt szybko. Można jakoś opóźnić wywoływanie skryptu tak by kolejne przejścia pętli następowały stopniowo ? Kombinowałem z setTimeout ale coś mi nie wychodzi.
Propozycje ? Chodzi mi o to żeby zanikanie/pojawianie trwało jakieś 2 sekundy. Później zobaczę na ile ustawić ten czas żeby elegancko to wyglądało a nie wkurzało internauty.
EDIT//
Jeszcze drobna sprawa, długość okna zmienia mi się natychmiastowo. Zastanawiam się jak zrobić efekt w którym rozszerzy się ono stopniowo a nie przeskoczy. Widziałem takie efekty w bibliotekach niektórych ale wygrzebać odpowiednią funkcje z czegoś co waży kilkaset kilo chwile trwa a ciekaw jestem jak to jest rozwiązane jeżeli nie zna się wysokości elementu pierwotnego i następnego.
Zastanawiałem się nad użyciem 2 kontenerów, jeden z załadowanym tekstem a drugi okalający z overflow: hidden. Pobrał bym wysokość kontynera wewnętrznego i dopasował stopniowo zewnętrzny (gdzie też mi potrzebny sposób na opóźnienie animacji jak w przykładzie wyżej pytałem). Przy przeładowaniu operacje by się powtórzyło na tej samej zasadzie.
Jakieś propozycje i w tym temacie ? Jeszcze nie testowałem ale sugestie zanim zaczne pisać mile widziane.
A teraz wracam do pisania skryptów administrujących użytkownikami.
Pozdrawiam i z góry dziękuje za pomoc.
~Gorylek

