Pomoc - Odpocitavanie casu v obrazku

Sekcia o programovaní, programovacích jazykoch...
viper1993

Pomoc - Odpocitavanie casu v obrazku

Príspevok od používateľa viper1993 »

Zdravim,
potreboval by som pomoct s odpocitavanim do urciteho datumu, napr: 3 dni, 12 hodin, 33 minut, 12 sekund. Script uz mam, problem je v tom ze neviem ako ho dat do obrazku presne do okienok do ktorych chcem.
Obrázok

Dajme tomu ze mam priklad.html:

Kód: Vybrať všetko

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
  <meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> 
  <title>Title</title> 
</head> 
<body> 
 <img src="odpocitavadlo.png"/> 
</body> 
</html>
a tu mam javascript countdown.js:

Kód: Vybrať všetko

// Tick (countdownId, eventDate) 
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()); // We offset from 1100 so that our clock ticks every second (the millisecond correction each loop sees to that), but updates 0.1s after every whole second so that we don't accidentally read the same Date() twice in the same second 
}; 


// Calculate time and update display (dateNow, countdownId, eventDate) 
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 you want to manually customise the counter display, then edit this line: 
   if (CD_OBJS[id]) { 
      CD_OBJS[id].innerHTML = d + "           " + (d == 1 ? " " : " ") + CD_ZP(h) + "        " + CD_ZP(m) + "" + CD_ZP(s) + ""; 
   } 

    
}; 

// Prefix single integers with a zero 
function CD_ZP(i) { 
   return (i<10 ? "0" + i : i); 
}; 

// Initialisation 
function CD_Init() { 
   var pref = "countdown"; 
   var objH = 1; // temp boolean true value 
   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; // Store global reference to countdown element object 
               CD_T(id, dt.valueOf()); 
               if (objH.style) { 
                  objH.style.visibility = "visible"; 
               } 
            } 
            else { 
               objH.innerHTML = s + "<a href=\"http://andrewu.co.uk/clj/countdown/\" title=\"Countdown Error: Invalid date format used, check documentation (see link)\">*</a>"; 
            } 
         } 
      } 
   } 
}; 

// Get Date() object from 2006-01-01 00:00:00 GMT+00:00 date format 
function CD_Parse(strDate) { 
   // Pattern match to a countdown date 
   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)) { 
      // Start with a default date and build it up into the countdown date through Date setter methods 
      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; 
}
Ak by niekto vedel pomoct tak by som bol rad za podrobnejsie vysvetlenie pripadne kod ako priklad.

Dik za pomoc
badyto

Re: Pomoc - Odpocitavanie casu v obrazku

Príspevok od používateľa badyto »

ten sialeny javascript som necital, na mna priliz dlhe :D ale predpokladam ze to generuje dni, hodiny minuty, sekundy. pokial chces cokolvek umiestnit do toho tvojho obrazku tak by som to riesil takto:

Kód: Vybrať všetko

<hr><div style="position:relative; width:401px; height:115px; background:url(http://i35.tinypic.com/35cfof9.png);">
  <div style="position:absolute; top:50px; left:20px;">3 dni</div>
  <div style="position:absolute; top:50px; left:120px;">12 hodin</div>
  <div style="position:absolute; top:50px; left:220px;">33 minut</div>
  <div style="position:absolute; top:50px; left:320px;">12 sekund</div>
</div>
<hr>
zobraz si zdrojovy kod stranky...

Návrat na "Programovanie"