Javascript - fade efekt - jQuery - fadeIn - fadeOut - setTimeout - removeChild
Podobno kot pri scrolling funkcionalnosti, kjer sem z malo truda dobil superiorno funkcionalnost s pomočjo jQuery-a, sem tudi za fade efekt uporabil jQuery. Cilj je bil, da se po določenem času poljubno sporočilo zamenja z drugo vsebino.
Imamo dve tabeli, prva tabela je aktivna (vidna) ko obiskovalec odpre spletno stran, druga tabela pa postane aktivna po določenem času in zamenja prvo tabelo, ki nato postane nevidna. jQuery ima že vgrajen plugin fadeIn ter fadeOut. Uporaba:
-
$("#HTMLObjektID").fadeIn("slow");
-
$("#HTMLObjektID").fadeOut("slow");
Več o argumentih in ostale možnosti uporabe. Kot že rečeno sta fadeIn ter fadeOut že del knjižnice in je zato potrebno za uporabe teh funkcij dodati le jQuery knjižnico:
-
<script src="jquery.js" type="text/javascript" language="javascript"></script>
Poglejmo si še naš primer:
Javascript koda, ki bo izvedla zamenjavo (fadeIn ter fadeOut efekt):
-
setTimeout("fadeOutInfoMessage();", 3000);
-
setTimeout("fadeInAllInformations();", 3200);
-
-
function fadeOutInfoMessage() {
-
$("#infoMessage").fadeOut("slow");
-
var infoMessage = document.getElementById('infoMessage');
-
infoMessage.parentNode.removeChild(infoMessage);
-
}
-
-
function fadeInAllInformations() {
-
$("#allInformations").fadeIn("slow");
-
}
Uporabili smo setTimeout, ki po določenem času (v milisekundah) pokliče oz. izvede poljubno Javascript funkcijo oz. kodo. Pri našem primeru najprej skrijemo prvo (trenutno aktivno) tabelo ter jo izbrišemo iz DOM-a, saj se drugače pri bolj kompleksnem CSS-u pojavi nekakšen preskok in ne izgleda lepo. Ko preteč 0.2 sekunde se izvede še drug del kode, ki drugo tabelo nastavi kot aktivno.
Preizkusite delovanje zgoraj opisanega primera.
Dodatne informacije:
- Več primerov - informacij o Javascript setTimeout
- wrapper za removeChild klic
- jQuery fadeIn efekt na mouseover
- fadeIn ter fadeOut efekt v eni funkciji
Delodajalec: Pangaea.si

maj 9th, 2008 ob 12:05 dopoldne
[...] Javascript - fade efekt - jQuery - fadeIn - fadeOut - setTimeout - removeChild [...]