Javascript
Autore: Pasqualino D.Ho questo codice javascript "che funziona" ma vorrei che al posto della scritta, potessi fare in modo che un'immagine sparisse alla fine del conteggio, qualcuno sà come fare? Grazie in anticipo.
<script type="text/javascript">
/*countdown - conto alla rovescia*/
function countdown()
{
var_anno=2014;
var_mese=10;
var_giorno=26;
var_ore=21;
var_minuti=0;
var_secondi=0;
data_scandeza= new Date(var_anno,var_mese-1,var_giorno,var_ore,var_minuti,var_secondi);
data_oggi= new Date();
differenza=(data_scandeza-data_oggi);
giorni=parseInt(differenza/86400000);
differenza=differenza-(giorni*86400000);
ore=parseInt(differenza/3600000);
differenza=differenza-(ore*3600000);
minuti=parseInt(differenza/60000);
differenza=differenza-(minuti*60000);
secondi=parseInt(differenza/1000);
differenza=differenza-(secondi*1000);
if (giorni <= "0" && ore <= "0" && minuti <= "0" && secondi <= "0")
{
document.getElementById("countdown")[removed]="OPS, Tempo scaduto";
}
else
{
document.getElementById("countdown")[removed]=giorni +' giorni '+ore+' ore '+minuti+' min '+secondi+' sec';
setTimeout("countdown()",1000)
}
}
</script>
<body onload="countdown()"><div id="countdown"></div>
Autore
Scusate... Questo è il codice completo
<script type="text/javascript">
/*countdown - conto alla rovescia*/
function countdown()
{
var_anno=2014;
var_mese=10;
var_giorno=26;
var_ore=21;
var_minuti=0;
var_secondi=0;
data_scandeza= new Date(var_anno,var_mese-1,var_giorno,var_ore,var_minuti,var_secondi);
data_oggi= new Date();
differenza=(data_scandeza-data_oggi);
giorni=parseInt(differenza/86400000);
differenza=differenza-(giorni*86400000);
ore=parseInt(differenza/3600000);
differenza=differenza-(ore*3600000);
minuti=parseInt(differenza/60000);
differenza=differenza-(minuti*60000);
secondi=parseInt(differenza/1000);
differenza=differenza-(secondi*1000);
if (giorni <= "0" && ore <= "0" && minuti <= "0" && secondi <= "0")
{
document.getElementById("countdown")[removed]="OPS, Tempo scaduto";
}
else
{
document.getElementById("countdown")[removed]=giorni +' giorni '+ore+' ore '+minuti+' min '+secondi+' sec';
setTimeout("countdown()",1000)
}
}
</script>
<body onload="countdown()"><div id="countdown"></div>
</script>
</head>
<body onLoad="Countdown()">
<div id="testo"></div>
</body>
</html>
1) - come prima istruzione metti la stringa in grassetto:
<script type="text/javascript">
function chiudi() { document.getElementById('pippo').style.display = "none"; }
/*countdown - conto alla rovescia*/
...ECCETERA...
2) - dopo il messaggio del tempo scaduto metti la stringa in grassetto:
OPS, Tempo scaduto";
chiudi();
...
...
... l'immagine nel BODY la carichi così:
<img id="pippo" src="percorso/tuaimmagine.jpg" />
...
.
ciao
Autore
Ok funziona, soltanto che all'avvio della pagina con il tempo scaduto per un secondo vedo l'immagine poi sparisce
... io non ho il programma, ...ma in teoria non dovrebbe avvenire questo flash dell'immagine...
... lo SCRIPT lo hai inserito in HEAD, ...o dove...?...
... hai un LINK per provare...?...
.
ciao
Autore
Ho inserito un oggetto html nell'intestazione. Guarda qui.. http://dtstudio.altervista.org/
... no! ... hai fatto degli errori; ...per evidenziarli copia la stringa a seguire, tutto il rigo per intero, e la incolli nella barra indirizzi di FireFox, e li vedrai in rosso:
view-source:http://dtstudio.altervista.org/
...
... rimedio:
.1 ... il codice SCRIPT del COUNTDOWN lo devi inserire nel Pannello Esperto | HEAD/HEAD
.2 ... il codice dell'immagine lo devi inserire in un Oggetto HTML dell'Intestazione (pergamena), se è lì che la vuoi;
.3 ... il codice ONLOAD (e solo: onload="countdown()") lo devi inserire nel Pannello Esperto | Proprietà del tag BODY (ovvero all'interno dell'istruzione <BODY>), quindi non nell'opzione: Dopo l'apertura del tag BODY, Prima della chiusura del tag BODY (!NO!)
... considera sempre che io sono senza programmi, ...ma quando avrai sistemato, fallo sapere, in modo da andare a controllare se la persistenza flash dell'immagine si verifichi ancora...
.
ciao
guarda qui:
http://provews.altervista.org/popp/index.html
un popup a tempo....una cosa cosi...?
Autore
Guarda cosa viene fuori http://dtstudio.altervista.org/
Autore
Ciao mirko.. si avevo gia provato in quel modo, ma ogni volta che ricarichi la pagina si riapre l'mmagine, io ho bisogno che oltre una certa data non appaia più
potresti inserire il popup con cookie, e poi alla data che decidi tu, lo dovrai togliere con il programma, e intanto risolveresti....fin che non trovi una soluzione.... ....questo un'esempio utile:
http://stesil.altervista.org/evo10/cookie/index.html
Autore
forse ho sbagliato qualcosa?
http://dtstudio.altervista.org/
... sì ... errato ...
... rispetta quello che ti avevo indicato; ...casomai spiegami cosa non ti è chiaro...
.. lo riassumo:
1 - lo SCRIPT deve andare nella sezione HEAD;
2 - ONLOAD nella dichiarazione del BODY e non nel corpo del BODY
3 - il DIV del testo, se lo vuoi vedere deve andare in un oggetto HTML qualsiasi posizionato dove vuoi nelle sezioni della pagina;
4 - il codice IMMAGINE deve andare in Oggetto HTML dell'Intestazione, o il atro Oggetto Codice HTML della Pagina;
... nella pagina deve esistere solo una coppia di HEAD/HEAD, BODY/BODY, HTML/HTML...
... questa la struttura:
<html><head>...</head><body (...)> ... </body></html>
... attualmente è tutto un po' scombinato per codici esterni inseriti da te...
... controlla con FireFox come detto prima...
... prova; si tratta di individuare nel programma le sezioni corrette, e non è difficile...
... non ti preoccupare a chiedere, magari nello specifico dell'azione che fai...
.
ciao
Autore
Allora riepiloghiamo:
1) Prima della chiusura del tag HEAD
function countdown()
{
var_anno=2014;
var_mese=10;
var_giorno=26;
var_ore=14;
var_minuti=54;
var_secondi=0;
data_scandeza= new Date(var_anno,var_mese-1,var_giorno,var_ore,var_minuti,var_secondi);
data_oggi= new Date();
differenza=(data_scandeza-data_oggi);
giorni=parseInt(differenza/86400000);
differenza=differenza-(giorni*86400000);
ore=parseInt(differenza/3600000);
differenza=differenza-(ore*3600000);
minuti=parseInt(differenza/60000);
differenza=differenza-(minuti*60000);
secondi=parseInt(differenza/1000);
differenza=differenza-(secondi*1000);
if (giorni <= "0" && ore <= "0" && minuti <= "0" && secondi <= "0")
chiudi();
else
{
setTimeout("countdown()",1000)
}
}
</script>
2) Proprietà deltag BODY
Autore
In pratica :
1) Prima della chiusura del tag HEAD
function countdown()
2) Nella proprietà del tag BODY
... OK ... bravo ... ce l'hai fatta ...!... QUASI ...!...
... adesso devi riparare gli ultimi errori...
1) ... devi inserire <script> prima della funzione function countdown(), così:
<script> function countdown() ...eccetera...eccetera
2) ... devi racchiudere la funzione chiudi() tra le graffe "{ }", così:
{ chiudi(); }
...
... fatto; ... ... e vai ... ... .. .. . .
....
Autore
Scusa ma la "Function chiudi()" dov'è?
Autore
dove la metto sopra la function countdown()
... non avevo notato che nell'ultimo codice l'avevi dimenticata, per come ti avevo detto al 1° Post in alto; ...quindi devi cominciare così:
<script>
function chiudi() { document.getElementById('pippo').style.display = "none"; } /*countdown - conto alla rovescia*/
function countdown() {
ECCETERA
.
... questo: { chiudi(); } ...vedo che l'hai messo a posto...
.
... vai con l'ultimo sforzo...
.
ciao
Autore
Ok ma l'immagine si vede nonostante il tempo sia scaduto..
... non: onload="Countdown()"
... ma: onload="countdown()"
.
ciao
Autore
Ok ma siamo al punto di partenza.. l'immagine si vede per un secondo poi sparisce. Io penso che prima di far vedere l'immagine dovrebbe eseguire la funzione altrimenti l'immagine si vede a ausa del "setTimeout("countdown()",1000)" e poi sparisce.
... per verificare ho dovuto fare una prova con il blocco note, ed ho notato che con una immagine leggera è tutto regolare, invece con una immagina più pesante effettivamente appare l'immagine per un flash...
... esempio originale di base con solo la mia funzione chiudi():
http://www.zspace.it/kolasim/countdownWPK/countdown-img1.html
... esempio rivisto aggiungendo lo style display none:
http://www.zspace.it/kolasim/countdownWPK/countdown-img2.html
...
... quindi, inserire in HEAD:
<style> #pippo { display:none; } </style>
... e come ultima istruzione dello SCRIPT la stringa dopo setTimeout:
setTimeout("countdown()",1000);
document.getElementById('pippo').style.display = "block";
...
... puoi vedere il codice direttamente nel sorgente HTML della pagina...
...
.... e così dovresti essere a posto...
.
ciao
===EDIT=====
... per provare i mio countdown setta provvisoriamente l'orologio del PC alle ore 10 e minuti 20 (di oggi)
Autore
Funziona! Grazie di tutto