Visualizzazione dei risultati da 1 a 4 su 4

Discussione: countdown

  1. #1

    countdown

    Buongiorno

    dovrei fare uno script js, un countdown che preo devo usare diverse volte all'inteernoo della stessa pagina e ogni volta dando una data diversa.

    per ora ogni script che ho trovato mi fa un solo countdown e non mi lascia scelta.


    qualcuno ha voglia di aiutare?

    grazie mille

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ne ho trovato uno appartenente a questo forum, che qualche volta mettono quando il forum è in manutenzione Perchè non vederlo e trarne spunto?

    il codice è:

    file countdown.js
    codice:
    function CD_T(id, e) {
    	var n	= new Date();
    	CD_D(+n, id, e);
    	setTimeout("CD_T('" + id + "', " + e + ")", 1100-n.getMilliseconds());
    };
    
    function CD_D(n, id, e) {
    	var ms = e - n;
    	if (ms <= 0) ms *= -1;
    	var d = Math.floor(ms/864E5);
    	ms -= d*864E5;
    	var h = Math.floor(ms/36E5);
    	ms -= h*36E5;
    	var m = Math.floor(ms/6E4);
    	ms -= m*6E4;
    	var s = Math.floor(ms/1E3);
    
    	CD_OBJS[id].innerHTML = d + " giorni, " + (d == 1 ? "" : "") + CD_ZP(h) + " ore, " + CD_ZP(m) + " minuti, " + CD_ZP(s) + " secondi";
    };
    
    function CD_ZP(i) {
    	return (i<10 ? "0" + i : i);
    };
    
    // Initialisation
    function CD_Init() {
    	var pref = "countdown";
    	var objH = 1;
    	if (document.getElementById || document.all) {
    		for (var i=1; objH; ++i) {
    			var id	= pref + i;
    			objH	= document.getElementById ? document.getElementById(id) : document.all[id];
    
    			if (objH && (typeof objH.innerHTML) != 'undefined') {
    				var s	= objH.innerHTML;
    				var dt	= CD_Parse(s);
    				if (!isNaN(dt)) {
    					CD_OBJS[id] = objH;
    					CD_T(id, dt.valueOf());
    					if (objH.style) {
    						objH.style.visibility = "visible";
    					}
    				}
    				else {
    					objH.innerHTML = s + "x";
    				}
    			}
    		}
    	}
    };
    
    function CD_Parse(strDate) {
    	var objReDte = /(\d{4})\-(\d{1,2})\-(\d{1,2})\s+(\d{1,2}):(\d{1,2}):(\d{0,2})\s+GMT([+\-])(\d{1,2}):?(\d{1,2})?/;
    
    	if (strDate.match(objReDte)) {
    
    		var d = new Date(0);
    
    		d.setUTCFullYear(+RegExp.$1,+RegExp.$2-1,+RegExp.$3); // Set YYYY-MM-DD directly as UTC
    		d.setUTCHours(+RegExp.$4,+RegExp.$5,+RegExp.$6); // Set HH:MM:SS directly as UTC
    
    		// If there is a timezone offset specified then we need to compensate for the offset from UTC
    		var tzs	= (RegExp.$7 == "-" ? -1 : 1); // Timezone sign
    		var tzh = +RegExp.$8; // Get requested timezone offset HH (offset ahead of UTC - may be negative)
    		var tzm = +RegExp.$9; // Get requested timezone offset MM (offset ahead of UTC - always positive)
    		if (tzh) {
    			d.setUTCHours(d.getUTCHours() - tzh*tzs); // Compensate for timezone HH offset from UTC
    		}
    		if (tzm) {
    			d.setUTCMinutes(d.getUTCMinutes() - tzm*tzs); // Compensate for timezone MM offset, depending on whether the requested MM offset is ahead or behind of UTC
    		}
    		return d; // Date now correctly parsed into a Date object correctly offset from UTC internally regardless of users current timezone.
    	}
    	else {
    		return NaN; // Didn't match required date format
    	};
    };
    
    var CD_OBJS = new Object();
    
    // Try not to commandeer the default onload handler if possible
    if (window.attachEvent) {
    	window.attachEvent('onload', CD_Init);
    }
    else if (window.addEventListener) {
    	window.addEventListener("load", CD_Init, false);
    }
    else {
    	window.onload = CD_Init;
    }
    richiamarlo è semplice: basta mettere uno o più div chiamati countdown1, countdown2, ..., countdownn, con dentro la data di partenza, come da esempio:
    <div id="countdown1">2016-04-18 18:44:00 GMT+02:00</div>
    <div id="countdown2">2007-04-25 20:44:00 GMT+02:00</div>
    Pietro

  3. #3
    // Andrew Urquhart : CountDown Timer : http://andrewu.co.uk/clj/countdown/
    function CD_T(id,e)
    {var n=new Date();CD_D(+n,id,e);setTimeout("if(typeof CD_T=='function'){CD_T('"+id+"',"+e+")}",1100-n.getMilliseconds())};
    function CD_D(n,id,e)
    {
    var ms=e-n;if(ms<=0) ms*=-1;
    var d=Math.floor(ms/864E5);ms-=d*864E5;
    var h=Math.floor(ms/36E5);ms-=h*36E5;
    var m=Math.floor(ms/6E4);ms-=m*6E4;
    var s=Math.floor(ms/1E3);
    if(CD_OBJS[id]){CD_OBJS[id].innerHTML=d+" giorni"+(d==1?" ":" ")+CD_ZP(h)+" "+CD_ZP(m)+" "+CD_ZP(s)+""}};
    function CD_ZP(i)
    {
    return(i<10?"0"+i:i)};
    function CD_Init()
    {
    var pref="countdown";
    var objH=1;
    if(document.getElementById||document.all){for(var i=1;objH;++i){var id=pref+i;objH=document.getElementById?document.ge tElementById(id):document.all[id];if(objH&&(typeof objH.innerHTML)!='undefined'){var s=objH.innerHTML;var dt=CD_Parse(s);if(!isNaN(dt)){CD_OBJS[id]=objH;CD_T(id,dt.valueOf());if(objH.style){objH.st yle.visibility="visible"}}else {objH.innerHTML=s+""}}}}};
    function CD_Parse(strDate){var objReDte=/(\d{4})\-(\d{1,2})\-(\d{1,2})\s+(\d{1,2})\d{1,2})\d{0,2})\s+GMT([+\-])(\d{1,2}):?(\d{1,2})?/;
    if(strDate.match(objReDte)){var d=new Date(0);d.setUTCFullYear(+RegExp.$1,+RegExp.$2-1,+RegExp.$3);d.setUTCHours(+RegExp.$4,+RegExp.$5, +RegExp.$6);var tzs=(RegExp.$7=="-"?-1:1);var tzh=+RegExp.$8;var tzm=+RegExp.$9;if(tzh){d.setUTCHours(d.getUTCHours ()-tzh*tzs)}if(tzm){d.setUTCMinutes(d.getUTCMinutes()-tzm*tzs)};return d}else {return NaN}};var CD_OBJS=new Object();if(window.attachEvent){window.attachEvent ('onload',CD_Init)}else if(window.addEventListener){window.addEventListene r("load",CD_Init,false)}else {window.onload=CD_Init};




    usando questo script però mi da un'ora falsata di 2 ore


    non capisco come
    per richiamare lo script uso questo

    <span id='countdown1'>$object[1] GMT+00:00</span>

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Riguarda come si richiama

    <div id="countdown1">2016-04-18 18:44:00 GMT+02:00</div>
    <div id="countdown2">2007-04-25 20:44:00 GMT+02:00</div>
    Pietro

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 © 2024 vBulletin Solutions, Inc. All rights reserved.