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&&!brows erinfos.match(/Opera/)
var ie5=document.getElementById&&document.all&&!browse rinfos.match(/Opera/)
var ns6=document.getElementById&&!document.all&&!brows erinfos.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(futuredat e)-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