![]() |
|
Homepage |
Javascript |
Simulazione dell'effetto Loading di Flash col Dhtml | |
Simulazione dell'effetto Loading di Flash col Dhtml
Comparso su HTML.it il 3 Febbraio 2003 - E' vietata la riproduzione, anche parziale, senza esplicito consenso dell'autore <table width="222" align="center" cellpadding="1" cellspacing="10"> <tr> <td class="loading">...Loading</td> </tr> <tr> <td class="barra"><div id="barra"></div></td> </tr> <tr> <td><div id="percentuale"></div></td> </tr> </table>I nomi delle classi e degli identificatori sono abbastanza espliciti e finalizzati ad una semplice comprensione del loro impiego; nel prossimo paragrafo esamineremo il foglio di stile in cui faremo riferimento a quanto inizializzato in questo blocco di codice Html. Il foglio di stile Css L'utilizzo ed il funzionamento del foglio di stile per l'effetto in questione è già stato discusso nel corso dei paragrafi precedenti; il codice è altamente personalizzabile nello stile e nei colori, quello riportato nell'esempio di seguito è solo indicativo e finalizzato a dare concretezza al suo materiale impiego:
<style type="text/css">
td.loading { text-align: Center; color: #778899; font: Bold 11px Verdana; }
td.barra { background-color: #F9F9F9; border: Solid 1px #CCCCCC; }
#barra { background-color: #EEEEEE; }
#percentuale { text-align: Center; color: #778899; font: Bold 10px Verdana; }
</style>
Lo script per il funzionamento dell'effettoCome già detto nei paragrafi precedenti, lo script in questione si divide in tre parti:
<script language="javascript" type="text/javascript">
<!--
// Inizializza lo stato di avanzamento grafico
var espandi = 0;
// Funzione che definisce le prime due operazioni descritte in precedenza
function Loading() {
// Incrementa la barra di stato dell'avanzamento
barra.style.width = espandi;
espandi++;
// Incrementa il contatore percentuale dell'avanzamento
percentuale.innerHTML = Math.round(espandi / 2) + "%";
if (espandi != 200) {
window.setTimeout("Loading(), 10");
}
}
// Effettua un semplice redirect a tempo al termine dell'esecuzione dell'effetto
function Go() {
location.href = "homepage.html";
}
window.setTimeout("Go()", 12000);
//-->
</script>
Il codice è molto semplice sintatticamente parlando, ma è importante capire il ragionamento sviluppato.L'identificativo espandi assegnato al layer della barra di stato viene dotato di un comando di stile Javascript in cui si definisce la larghezza del layer; la sua dinamizzazione avviene incrementando il suo valore iniziale con il semplice codice espandi++All'identificativo percentuale, invece, viene assegnata una temporizzazione che incrementa il suo valore numerico iniziale, ovvero lo stesso valore assegnato alla variabile espandi, impostata su zero; il suo valore viene parserizzato con la funzione matematica Math.round che arrotonda ad interi i numeri decimali (si sarebbe potuto utilizzare anche il metodo parseInt). La funzione Go(), come descritto nel commento al codice, effettua un semplice redirect temporizzato verso il file homepage.html al termine dell'esecuzione dell'effetto, e viene lanciata direttamente nel bloccoodi script. La funzione Loading(), invece, verrà lanciata all'interno del corpo dello script: <body onLoad="Loading()">Il codice completo Di seguito propongo il codice completo dell'effetto, così come l'ho immaginato io:
<html>
<head>
<title>Simulazione dell'effetto Loading di Flash col Dhtml</title>
<style type="text/css">
td.loading { text-align: Center; color: #778899; font: Bold 11px Verdana; }
td.barra { background-color: #F9F9F9; border: Solid 1px #CCCCCC; }
#barra { background-color: #EEEEEE; }
#percentuale { text-align: Center; color: #778899; font: Bold 10px Verdana; }
</style>
<script language="javascript" type="text/javascript">
<!--
var espandi = 0;
function Loading() {
barra.style.width = espandi;
espandi++;
percentuale.innerHTML = Math.round(espandi / 2) + "%";
if (espandi != 200) {
window.setTimeout("Loading(), 10");
}
}
function Go() {
location.href = "homepage.html";
}
window.setTimeout("Go()", 12000);
//-->
</script>
</head>
<body topmargin="150" onLoad="Loading()" scroll="No">
<table width="222" align="center" cellpadding="1" cellspacing="10">
<tr>
<td class="loading">...Loading</td>
</tr>
<tr>
<td class="barra"><div id="barra"></div></td>
</tr>
<tr>
<td><div id="percentuale"></div></td>
</tr>
</table>
</body>
</html>
C'è un'aspetto da chiarire: i tempi di attesa del caricamento sono strettamente legati alle proporzioni dei layers e della tabella contenitore; per modificare i tempi e le dimensioni dovete agire sulla divisione effettuata sulla variabile espandi e sul blocco di codice Html (stilizzazione Css compresa).Divertitevi a personalizzare l'effetto di esempio per implementarlo nelle vostre Intro Dhtml ;-) TAGS - effetto loading, loading flash, flash, dhtml, javascript, html, css |
IN EVIDENZA
Una slidegallery con jQuery
Pagamenti online con PayPal e PHP
Breve guida a jQuery
Effetto ombra su testo con Photoshop
Guadagna col tuo sito grazie a TradeD...
Guida XHTML
Riscrivere le URL con Asp
Riavviare IIS
HTTP 500 internal server error
Generare password casuali in Javascri...
Errore 80004005: Cannot update. Datab...
Introduzione ad Ajax ed Asp con Jscri...
Referenze dei Tag Html
Stringhe di connessione via ODBC e Ol...
Referenze dei fogli di stile Css
Le espressioni regolari in Javascript
|
||||
© 2001/2010 lukeonweb.net - A cura di Luca Ruggiero, Partita IVA 05564851219 -
Privacy |
Pubblicità |
Contatti
| |||||