Newsgroup: it.comp.lang.javascript
Titolo: Countdown

Qual è lo script che visualizza il tempo mancante ad una data
prestabilita?
--
Bye bye
Airwolf
~~~~~~~~~~~~~~~~~~~~~~~~~~
"You only live once - take it easy"
http://members.xoom.it/AirDario
http://airdario.fly.to

da' il meglio di se' con IE 5.x 5 NN6.x, ma va anche in NN4.x
Ciao, Daniele
<html>
<head>
<title>orologio in realtime</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="description" content="esempio di utilizzo dell'oggetto Date:
conto alla rovescia">
<meta name="abstract" content="esempio in JavaScript">
<meta name="keywords" content="JavaScript, javascript, clock,
countdown">
<meta http-equiv="Content-Language" content="IT">
<meta name="author" content="Daniele Marchesini - 
email:sky...@iol.it
">
<style>
body {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  color: #333333;
  }
table {
  font-family: Arial, Helvetica, sans-serif; 
  font-size: 12px; 
  color: #333333; 
  }
 
td {  
  font-family: Arial, Helvetica, sans-serif; 
  font-size: 14px; 
  color: #333333; 
  }
 
span {  
  font-family: Arial, Helvetica, sans-serif; 
  font-size: 12px; 
  color: #FFFFFF; 
  }
input {  
  font-family: Arial, Helvetica, sans-serif; 
  font-size: 11px; 
  color: #FFFFFF; 
  background-color: #003366
  }
 
</style>
<script language="JavaScript">
<!--
var NN_size = 30;
var IE_size = 50;
var adesso = new Date();
var clock_id = null;
var dataFissa = new Date();
var anno = parseInt(prompt("inserire l'anno della data
prescelta","2000"));
var mese = parseInt(prompt("inserire il mese in numero [1 ..
12]","11"))-1;
var giorno = parseInt(prompt("inserire il giorno in numero [1 ..
31]","17"));
var ore = parseInt(prompt("inserire le ore","2"));
var minuti = parseInt(prompt("inserire i minuti","0"));
var secondi = parseInt(prompt("inserire i secondi","0"));
dataFissa.setYear(anno);
dataFissa.setMonth(mese);
dataFissa.setDate(giorno);
dataFissa.setHours(ore);
dataFissa.setMinutes(minuti);
dataFissa.setSeconds(secondi);
var countDown;
var report = '';
function ora(){
 adesso = new Date();
 countDown = (dataFissa - adesso);
 if(countDown > 0){
  countDown += 1000;
  report='   mancano    ';
 }
 else
 {
  countDown = Math.abs(countDown);
   report='   sono trascorsi    ';
 }
 with(Math){
  secondi   = floor(countDown / 1000);
  minuti    = floor(secondi / 60);
  ore       = floor(minuti / 60);
  giorni    = floor(ore / 24);
 }
 secondi =  secondi - minuti * 60;
 minuti  =  minuti - ore * 60;
 ore     =  ore - giorni * 24;
 
 report += giorni + ' giorni  ' + ore + ' ore  ' + minuti + ' minuti  '
+ secondi + ' secondi' ; 
 document.forms['clock'].cd.value = report;
 document.forms['clock'].now.value = '   ' + adesso.toLocaleString();
 clock_id = window.setTimeout("ora()", 1000);
}
function stop(){
 if(clock_id != null){
  window.clearTimeout(clock_id);
  clock_id=null;
 }
}
//-->
</script>
</head>
<body bgcolor="#001144" onLoad="ora(); document.forms['clock'].fix.value
= '   ' + dataFissa.toLocaleString();">
<form name="clock" >
<table width="450" border="0" cellspacing="0" cellpadding="3">
<tr>
 <td>
  <span>data fissata : </span>
 </td>
 <td>
<script language="JavaScript">
<!--
  with(window.document){
   open();
   if(navigator.appName == "Netscape") 
     write('<input type="text" name="fix" size="' + NN_size + '">');
   else
     write('<input type="text" name="fix" size="' + IE_size + '">');
   close();
  }
 //-->
 </script>
 </td>
</tr>
<tr>
 <td>
  <span>oggi : </span>
 </td>
 <td>
<script language="JavaScript">
<!--
  with(window.document){
   open();
   if(navigator.appName == "Netscape") 
     write('<input type="text" name="now" size="' + NN_size + '">');
   else
     write('<input type="text" name="now" size="' + IE_size + '">');
   close();
  }
 //-->
 </script>
 </td>
</tr>
<tr>
 <td>
  <span>conto alla rovescia : </span>
 </td>
 <td>
<script language="JavaScript">
<!--
  with(window.document){
   open();
   if(navigator.appName == "Netscape") 
     write('<input type="text" name="cd" size="' + NN_size + '">');
   else
     write('<input type="text" name="cd" size="' + IE_size + '">');
   close();
  }
 //-->
 </script>
 </td>
</tr>
<tr>
 <td>
  <input type="button" name="stopTime" value=" stop " onClick="stop();">
  <input type="button" name="startTime" value="start "
onClick="if(clock_id == null) ora();">
 </td>
</tr>
</table>
</form>
</body>
</html>

Ti ringrazio, ma io volevo un qualcosa dove la data la scelgo io e non
l'utente.


// questa parte la cancelli [o la metti come commento]
/* inizio
var anno = parseInt(prompt("inserire l'anno della data
prescelta","2000"));
var mese = parseInt(prompt("inserire il mese in numero [1 ..
12]","11"))-1;
var giorno = parseInt(prompt("inserire il giorno in numero [1 ..
31]","17"));
var ore = parseInt(prompt("inserire le ore","2"));
var minuti = parseInt(prompt("inserire i minuti","0"));
var secondi = parseInt(prompt("inserire i secondi","0"));
fine  */
// adesso imponi la data e l'ora che vuoi ...
dataFissa.setYear(2001); // imposti l'anno
dataFissa.setMonth(0); // imposti il mese [0 = gennaio, ... 11 =
dicembre]
dataFissa.setDate(1); // imposti il giorno
dataFissa.setHours(0); // imposti le ore
dataFissa.setMinutes(0); // imposti i minuti
dataFissa.setSeconds(0); // imposti i secondi
_______________________________________________________________________
Più "pappa pronta" di così ... 8)
Ciao, Daniele

Piů "pappa pronta" di cosě ... 8)
Hai ragione, ma il fatto č che non conosco il javascript.
Comunque grazie tante.
