Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    countdown non funziona!

    ciao ragazzi... volevo sapere come mai questo countdown non andasse... premetto non sono un geniaccio degli script perciò non riesco a capire cosa non vada... c'entra con il redirect finale perchè quando arriva a 0 mi da errore...

    codice:
    <span id=time></span>
    <script type="text/javascript">
    function update() {
    	var now = new Date();
    	var event = new Date("Mar 21 2006 21:00:00");
    	var seconds = Math.floor((event - now) / 1000);
    	if(seconds < 0) {
    		document.getElementById('diff').innerHTML = 'accesso in corso';
    		setTimeout("window.location.reload(true);", 1000);
    		return;
    	}
    	var minutes = Math.floor(seconds / 60);
    	var hours = Math.floor(minutes / 60);
    	var days = Math.floor(hours / 24);
    	hours -= (days * 24);
    	minutes -=(days * 24 * 60) + (hours * 60);
    	seconds -=(days * 24 * 60 * 60) + (hours * 60 * 60) + (minutes * 60);
    	var diff =(days>0?(days + (days==1?' giorno':' giorni')):'') + 
    		(hours>0?((((seconds==0)&&(minutes==0)&&(days!=0))?' e ':(days!=0?', ':'')) + hours + (hours==1?' ora':' ore')):'') + 
    		(minutes>0?(((seconds==0)&&((days!=0)||(hours!=0))?' e ':((days!=0)||(hours!=0)?', ':'')) + minutes + (minutes==1?' minuto':' minuti')):'') + 
    		(seconds>0?((((days!=0)||(hours!=0)||(minutes!=0))?' e ':'') + seconds + (seconds==1?' secondo':' secondi')):'') + '...';
    	document.getElementById('time').innerHTML = diff;
    	setTimeout("update();", 1000);
    }
    
    update();
    </script>

  2. #2
    ho cambiato un po' lo script... ora il redirect dovrebbe farlo ma solo se tolgo questa striscia (in rosso) come mai? io ci voglio far venire un testo cm è mostrato li prima del redirect...

    ps. ho messo google come prova...

    codice:
    - <span id=time></span>
    <script type="text/javascript">
    function redirect() {
    	var now = new Date();
    	var event = new Date("Mar 23 2006 12:27:00");
    	var seconds = Math.floor((event - now) / 1000);
    	if(seconds < 0) {
    		document.getElementById('diff').innerHTML = 'accesso in corso';
    		setTimeout("document.location='http://www.google.it'", 1000);
    	}
    	var minutes = Math.floor(seconds / 60);
    	var hours = Math.floor(minutes / 60);
    	var days = Math.floor(hours / 24);
    	hours -= (days * 24);
    	minutes -=(days * 24 * 60) + (hours * 60);
    	seconds -=(days * 24 * 60 * 60) + (hours * 60 * 60) + (minutes * 60);
    	var diff =(days>0?(days + (days==1?' giorno':' giorni')):'') + 
    		(hours>0?((((seconds==0)&&(minutes==0)&&(days!=0))?' e ':(days!=0?', ':'')) + hours + (hours==1?' ora':' ore')):'') + 
    		(minutes>0?(((seconds==0)&&((days!=0)||(hours!=0))?' e ':((days!=0)||(hours!=0)?', ':'')) + minutes + (minutes==1?' minuto':' minuti')):'') + 
    		(seconds>0?((((days!=0)||(hours!=0)||(minutes!=0))?' e ':'') + seconds + (seconds==1?' secondo':' secondi')):'') + '...';
    	document.getElementById('time').innerHTML = diff;
    	setTimeout("redirect();", 1000);
    }
    
    redirect();
    </script>

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    107
    Partendo dal presupposto che quello che hai inserito è il codice completo, l'errore stà nella mancanza del contenitore "diff", che viene richiamato prima del reload, preannunciandone il caricamento..

    Lo script modificato

    codice:
    <span id=time></span>
    <script type="text/javascript">
    function update() {
    	var now = new Date();
    	var event = new Date("Mar 23 2006 12:50:00");
    	var seconds = Math.floor((event - now) / 1000);
    	if(seconds < 0) {
    		document.getElementById('time').innerHTML = 'accesso in corso';
    		setTimeout("window.location.reload(true);", 1000);
    		return;
    	}
    	var minutes = Math.floor(seconds / 60);
    	var hours = Math.floor(minutes / 60);
    	var days = Math.floor(hours / 24);
    	hours -= (days * 24);
    	minutes -=(days * 24 * 60) + (hours * 60);
    	seconds -=(days * 24 * 60 * 60) + (hours * 60 * 60) + (minutes * 60);
    	var diff =(days>0?(days + (days==1?' giorno':' giorni')):'') + 
    		(hours>0?((((seconds==0)&&(minutes==0)&&(days!=0))?' e ':(days!=0?', ':'')) + hours + (hours==1?' ora':' 
    
    ore')):'') + 
    		(minutes>0?(((seconds==0)&&((days!=0)||(hours!=0))?' e ':((days!=0)||(hours!=0)?', ':'')) + minutes + 
    
    (minutes==1?' minuto':' minuti')):'') + 
    		(seconds>0?((((days!=0)||(hours!=0)||(minutes!=0))?' e ':'') + seconds + (seconds==1?' secondo':' 
    
    secondi')):'') + '...';
    	document.getElementById('time').innerHTML = diff;
    	setTimeout("update();", 1000);
    }
    
    update();
    </script>

    Se vuoi che la scritta "accesso in corso", appaia in un altro contenitore (span, div), ti basta inserirne un altro (con un id, ad esempio "accesso") e modificare il relativo getElementById (il primo), inserendo l'id del div.




    Ciao ;)

  4. #4
    ah grazie si... poi metto al posto di

    window.location.reload(true);

    questo:

    document.location='mio sito.it'

    e funziona... grazie 1000!

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.