Stampare un messaggio alla fine del countdown in Javascript

simo10piu

Nuovo Utente
4 Mag 2009
24
0
0
Ciao a tutti, non sono per niente ferrato in javascript e vorrei un aiuto per fare una semplice cosa.
Ho un countdown (giorni ore minuti e secondi) che quando termina riparte a contare con davanti il simbolo "-".
Io vorrei che quando termina il conteggio invece, al posto dei numeri, apparisse una frase impostata.
Io ci ho provato davvero, mi sono informato ma non riesco a farlo funzionare,mi servirebbe un consiglio.
Ho creato una variabile "current" alla quale ho dato il valore di una frase esempio, poi ho messo (un pochino a caso) la funzione "document.write" dappertutto ma non funziona.
Il codice è il seguente, se potete anche darmi una spiegazione sul come si fa ed il perchè si scrive in una certa maniera, vi ringrazio, mi piacerebe capire e imparare.

Codice:
<script type="text/javascript">
var futureyear=2011
var futuremonth=09
var futureday=4
var current="oggi è finito il counter!"
var displaytype="vediall"
var digitordate="isdate"
var aftercountdown="stopit"
var digitfrom=100
var digitto=0
var speed=1

var countdownid=new Array()
var futuredate
var nowdate
var resultoreraw
var resultore
var resultminutiraw
var resultminuti
var resultsecondiraw
var resultsecondi

var p_secondi
var p_minuti
var p_ore
var p_giorni

var resultsecondionly
var resultminutionly
var resultoreonly
var content

var i_countdown=-1
var countdownid

var step=1
speed*=1000

if (digitfrom>digitto) {step=-1}
if (digitfrom<digitto) {step=1}

var browserinfos=navigator.userAgent 
var ns4=document.layers
var ie4=!document.getElementById&&document.all&&!browserinfos.match(/Opera/)
var ie5=document.getElementById&&document.all&&!browserinfos.match(/Opera/)
var ns6=document.getElementById&&!document.all&&!browserinfos.match(/Opera/)
var opera=browserinfos.match(/Opera/)  

function setfuturedate() {
	futuredate=new Date(futureyear,futuremonth,futureday,0,0,0)
	if (digitordate=="isdigit") {content=digitfrom-step	}
	docountdown()
}

function docountdown() {
	if (digitordate=="isdate") {
		calculateresults()
		formatresults()
		displayresults()
		setTimeout("docountdown()",speed)
	}
	else if (digitordate=="isdigit") {
		content+=step	
		displayresults()
		if (content==digitto) {
			setTimeout("happensafter()",speed)
		}
		else {
			setTimeout("docountdown()",speed)
		}
	}
}

function firstcountdown() {
	if (digitordate=="isdate") {
		futuredate=new Date(futureyear,futuremonth,futureday,0,0,0)
		calculateresults()
		formatresults()
	}
	else if (digitordate=="isdigit") {
		content=digitfrom
	}
}

function calculateresults() {
nowdate=new Date()
resultgiorniraw=(Date.parse(futuredate)-Date.parse(nowdate))/1000/60/60/24
if (displaytype!="vediall") {
	resultsecondionly=Math.floor((Date.parse(futuredate)-Date.parse(nowdate))/1000)
	resultminutionly=Math.floor((Date.parse(futuredate)-Date.parse(nowdate))/1000/60)
	resultoreonly=Math.floor((Date.parse(futuredate)-Date.parse(nowdate))/1000/60/60)
}
else {
	resultgiorni=Math.floor((Date.parse(futuredate)-Date.parse(nowdate))/1000/60/60/24)
	resultoreraw=(resultgiorniraw-resultgiorni)*24
	resultore=Math.floor((resultgiorniraw-resultgiorni)*24)
	resultminutiraw=(resultoreraw-resultore)*60
	resultminuti=Math.floor((resultoreraw-resultore)*60)
	resultsecondiraw=(resultminutiraw-resultminuti)*60
	resultsecondi=Math.floor((resultminutiraw-resultminuti)*60)
	}
}

function formatresults() {
	if (displaytype=="vediall") {
		if (resultgiorni>1) {p_giorni="giorni"}
		else {p_giorni="day"}
		if (resultminuti<10) {resultminuti="0"+resultminuti}
		if (resultsecondi<10) {resultsecondi="0"+resultsecondi}
		content=resultgiorni+" "+p_giorni+" "+resultore+"h "+resultminuti+"m "+resultsecondi +"s"
	}
	else if (displaytype=="vedigiorni") {
		if (resultgiorni>1) {p_giorni="giorni"}
		else {p_giorni="day"}
		content=resultgiorni+" "+p_giorni
	}
	else if (displaytype=="vediore") {
		content=resultoreonly+" Ore"
	}
	else if (displaytype=="vediminuti") {
		content=resultminutionly+" min"
	}
	else if (displaytype=="vedisecondi") {
		content=resultsecondionly+" sec"
	}
}

function happensafter() {
	if (aftercountdown=="repeatit") {
		if (digitordate=="isdigit") {content=digitfrom-step}
		docountdown()
	}
	if (aftercountdown!="stopit" && aftercountdown!="repeatit") {
		document.location.href=aftercountdown
	}
}

function displayresults() {
	if (ie4) {
		for (i=0;i<=countdownid.length-1;i++) {
			var thisclock=eval(countdownid[i])
			thisclock.innerHTML=content
		}
	}
	else {
		for (i=0;i<=countdownid.length-1;i++) {
			document.getElementById(countdownid[i]).innerHTML=content
		}
	}
}

function setcountdown() {
	if (ns4 || ie4 || ie5 || ns6 || opera) {
		firstcountdown()
		i_countdown++
		countdownid[i_countdown]="countdown"+i_countdown
		document.write("<span id='"+countdownid[i_countdown]+"' style='position:relative'>"+content+"</span>")
	}
}

if (ie4 || ie5 || ns6 || opera) {
	onload=setfuturedate
}
</script>

Grazie mille a tutti.

Ciao
 
Ultima modifica di un moderatore:
Discussioni simili
Autore Titolo Forum Risposte Data
maxnegri Stampare un messaggio alla fine di un countdown in javascript Javascript 0
F stampare a video i risultati della query PHP 1
elpirata Ricavare e stampare indirizzo ip da array associativo PHP 0
B Stampare una porzione della pagina PHP 0
V Come stampare su Excel tabella con rowspan e colspan Javascript 2
elpirata Stampare carattere simbolo euro PHP 10
W Stampare file PDF in varie modalità. Windows e Software 5
L pdo (stampare un valore con ritorno a funzione) PHP 0
P [PHP] Aggiungere giorni e stampare risultato da data inserita in input PHP 3
P [PHP] Stampare record di diverse tabelle ma con nomi uguali PHP 6
K [PHP] Stampare tabella da database differenti. PHP 4
M Stampare con php e mysql PHP 8
L [PHP] stampare un'array di un database PHP 0
J modifica spooler di stampa per stampare in ordine di nome i files pdf Windows e Software 2
T PHP+MYSQL: stampare record con numero progressivo PHP 3
cristoforo58 Stampare dei valori XML in PHP PHP 0
elpirata [PHP] Stampare i valori di una variabile scritta su più righe PHP 1
K [PHP] Cancellare e Stampare tabella PHP 3
M [PHP] come stampare un Qr-code in FPDF PHP 8
M [Javascript] "Stampare" nel codice Var JS Javascript 5
N [PHP] stampare pagina html PHP 0
fulviozecchin [Java] Stampare intervallo tra due interi senza cicli Java 2
F [PHP] Stampare dati inviati tramite ajax PHP 0
elpirata [RISOLTO]Stampare giorno della settimana in tabella php PHP 6
elpirata [PHP] [RISOLTO] Stampare classe css in base al risultato della query PHP 6
Fuego2806 Stampare dati Form su immagine di sfondo con html HTML e CSS 1
Fuego2806 [PHP] Stampare dati Form su immagine di sfondo con html PHP 70
webmachine [PHP] Problema: Stampare tutte le occorrenza di una SELECT PHP 2
momeraths come stampare immagini contenute in un database PHP 7
I stampare in video i dati inseriti nel db PHP 1
M Sito "e-commerce", stampare dati di registrazione e dati dell'acquisto da pagine diverse PHP 7
L Stampare immagine php PHP 2
elpirata Stampare a video in echo table il risultato di una query PHP 4
Shyson Stampare lista in ordine decrescente Database 1
A Stampare senza sidebar Javascript 0
F stampare array php PHP 3
N Non stampare valori duplicati PHP 1
T Stampare maschera fronte/retro MS Access 0
C Stampare font personalizzati HTML e CSS 2
S estrarre e stampare a video un record in un div PHP 7
N FPDF stampare pdf automaticamente su stampante impostata PHP 0
M Stampare valore di un array PHP 1
P Stampare a video PHP 1
P Stampare '<?' in php PHP 7
D Stampare una query in una tabella MySQL 2
P Stampare valore font-size da css con javascript Javascript 2
V Stampare file di Illustrator Webdesign e Grafica 0
K Stampare più pagine con fpdf PHP 5
felino Stampare un define dentro un require_once PHP 7
H Stampare a video dei file da DB PHP 2

Discussioni simili