Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Conto alla rovescia

  1. #1

    Conto alla rovescia

    Salve ragazzi,
    ho una domanda per voi. Sto usando questo javascript per visualizzare un conto alla rovescia:

    codice:
    <script>
    
    var futureyear=2006
    var futuremonth=4
    var futureday=12
    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+" ore "+resultminuti+" minuti "+resultsecondi +" secondi"
    	}
    	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>
    codice:
    <script>setcountdown()</script>
    Il codice funziona regolarmente. Quello che non sto riuscendo a capire è come fare per stabilire, oltre all'anno-mese-giorno da cui far partire il countdown, anche un ora, ovvero fare in modo che calcoli quanto tempo manda non dal: 10 Maggio 2006, ma dal 10 Maggio 2006 Ore 20:00. Cosa devo implementare? Ho provato un po' ma non ci riesco.

    Grazie per il vostro aiuto!

  2. #2
    Nessuno mi sa aiutare?

  3. #3
    Io ho questo:

    File Countdown.js


    var montharray = new Array("Jan","Feb","Mar","Apr","May", "Jun","Jul","Aug","Sep","Oct","Nov","Dec");
    var message_on_occasion="Time out!";
    var dstring=' d ';
    var hstring=' h ';
    var mstring=':';
    var sstring='';

    function setcountdown(theyear,themonth,theday,thehour,themi n,thesec) {
    yr=theyear;
    mo=themonth;
    da=theday;
    hr=thehour;
    min=themin;
    sec=thesec;
    }
    function countdown() {
    var today=new Date()
    var todayy=today.getFullYear()
    var todaym=today.getMonth()
    var todayd=today.getDate()
    var todayh=today.getHours()
    var todaymin=today.getMinutes()
    var todaysec=today.getSeconds()

    var todaystring=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec

    futurestring=montharray[mo-1]+" "+da+", "+yr+" "+hr+":"+min+":"+sec
    dd=Date.parse(futurestring)-Date.parse(todaystring)

    dday=Math.floor(dd/(60*60*1000*24)*1);
    dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1);
    dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000) )/(60*1000)*1);
    dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000 ))%(60*1000))/1000*1);

    if (dsec < 10) dsec = '0' + dsec;
    if (dmin < 10) dmin = '0' + dmin;
    if (dhour < 10) dhour = '0' + dhour;

    if(dday<=0&&dhour<=0&&dmin<=0&&dsec<=1&&todayd==da ) {
    crosscount.innerHTML=message_on_occasion;
    return;
    }
    if (dday<=-1) crosscount.innerHTML=message_on_occasion;
    else crosscount.innerHTML = dday+dstring +dhour+hstring+dmin+mstring+ dsec+sstring+occasion;
    setTimeout("countdown()",1000);
    }


    e dove deve comparire:

    <html>
    <head>
    <title>Titolo</title>
    <script type="text/javascript" src="countdown.js"></script>
    <script type="text/javascript">
    var occasion=" al MotoGP Jerez de la Frontera";
    setcountdown(2006,12,26,0,0,0);
    window.onload=countdown;
    </script>
    </head>
    <body onLoad='countdown()'>

    <p id="crosscount"></p>
    </body>
    </html>

    A me funziona peccato non so come si posta il codice!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.