Newsgroup: it.comp.lang.javascript
Titolo: Immagini diverse in base a giorno ed ora

Secondo voi perchè non funziona?
Dovrei semplicemente mostrare l'immagine ATTIVO dal lunedi al venerdi negli 
orari 10.30-12.30 e 14.30-18.30, INATTIVO il sabato e la domenica e negli 
orari residui.
Grazie per l'attenzione.
=====
<script language="JavaScript">
 <!--
 var data=new Date()
 hr=data.getHours();
 mi=data.getMinutes();
 gi=data.getDay();
 document.write(hr) & document.write (":") & document.write(mi)
 // la domenica
 if (gi <=0)
 {
 document.write('<img src="../images/inattivo.gif" width="148" 
height="61">')
 }
 // il sabato
 if (gi >=6)
 {
 document.write('<img src="../images/inattivo.gif" width="148" 
height="61">')
 }
 // dal lunedi al venerdi dalle ore 11.00 alle ore 12.00
 if (hr >=11 && hr <= 12 & gi >=1 && gi <=5)
 {
 document.write('<img src="../images/attivo.gif" width="148" height="61">')
 }
 // dal lunedi al venerdi dalle ore 15.00 alle ore 18.00
 if (hr >=15 && hr <= 18 & gi >=1 && gi <=5)
 {
 document.write('<img src="../images/attivo.gif" width="148" height="61">')
 }
 // dal lunedi al venerdi dalle ore 19.00 alle ore 24.00
 if (hr >=19 && hr <= 24 & gi >=1 && gi <=5)
 {
 document.write('<img src="../images/inattivo.gif" width="148" 
height="61">')
 }
 // dal lunedi al venerdi dalle ore 24.00 alle ore 10.00
 if (hr >=24 && hr <= 10 & gi >=1 && gi <=5)
 {
 document.write('<img src="../images/inattivo.gif" width="148" 
height="61">')
 }
 // dal lunedi al venerdi dalle ore 10.30 alle ore 10.59
 if (hr =10 & mi >=30 && mi <= 59 & gi >=1 && gi <=5)
 {
 document.write('<img src="../images/attivo.gif" width="148" height="61">')
 }
 // dal lunedi al venerdi dalle ore 12.01 alle ore 12.30
 if (hr =12 & mi >=00 && mi <= 30 & gi >=1 && gi <=5)
 {
 document.write('<img src="../images/attivo.gif" width="148" height="61">')
 }
 // dal lunedi al venerdi dalle ore 14.30 alle ore 14.59
 if (hr =14 & mi >=30 && mi <= 59 & gi >=1 && gi <=5)
 {
 document.write('<img src="../images/attivo.gif" width="148" height="61">')
 }
 // dal lunedi al venerdi dalle ore 18.01 alle ore 18.30
 if (hr =18 & mi >=00 && mi <= 30 & gi >=1 && gi <=5)
 {
 document.write('<img src="../images/attivo.gif" width="148" height="61">')
 }
 // dal lunedi al venerdi dalle ore 12.31 alle ore 12.59
 if (hr =14 & mi >=31 && mi <= 59 & gi >=1 && gi <=5)
 {
 document.write('<img src="../images/inattivo.gif" width="148" 
height="61">')
 }
 // dal lunedi al venerdi dalle ore 13.00 alle ore 14.00
 if (hr >=13 && hr <= 14 & gi >=1 && gi <=5)
 {
 document.write('<img src="../images/inattivo.gif" width="148" 
height="61">')
 }
 // dal lunedi al venerdi dalle ore 18.31 alle ore 18.59
 if (hr =18 & mi >=31 && mi <= 59 & gi >=1 && gi <=5)
 {
 document.write('<img src="../images/inattivo.gif" width="148" 
height="61">')
 }
 // -->
 </script>
 </head>
 <body>
=====
-- 
Seth D
-----------------------------------------------------------
Volete le vacanze?
Andate ad insegnare alle scuole pubbliche
----------------------------------------------------------- 

  <body>
Non entrando nel merito della correttezza del codice, un problema potrebbe
essere che esegui lo script nell'header del documento e non nel corpo?
Ciao,
Ema

 Ema
No, non cambia nulla.
Se metto una sola condizione il tutto funziona, se ne metto due o più si 
blocca.


  if (hr >=11 && hr <= 12 & gi >=1 && gi <=5)
Quell'& messo lě non mi piace molto (sinceramente non so come si comporti).
Se sopra sei uscito dalla function puoi evitare il controllo gi e diventa:
 if(hr>=11&&hr<=12) {
 altrimenti
  if(hr>=11&&hr<=12&&gi>=1&&g1<=5) {
Stesso discorso per il resto.
-- 
"E' l' ignoranza che crea l'intolleranza
 di gente cieca e senza coscienza"
									  S.S.S.

 hr=data.getHours();
[...]
Al posto di tutti quei controlli non ti conviene semplificare il
tutto? Ad esempio scrivere qualcosa del tipo:
var data=new Date()
var hr=data.getHours();
var mi=data.getMinutes();
var cmin=hr*60+mi;
var o1030=10*60+30;
var o1230=12*60+30;
var o1430=14*60+30;
var o1830=18*60+30;
var gi=data.getDay();
 document.write(hr) & document.write (":") & document.write(mi)
 if((gi>0) && (gi<6)){
	if(((cmin>=o1030) && (cmin<=o1230)) ||
	   ((cmin>=o1430) && (cmin<=o1830))){
		// 10:30-12:30 oppure 14:30-18:30
		document.write('<img src="../images/attivo.gif"
width="148" height="61">')
	} else {
		// altri orari
		document.write('<img src="../images/inattivo.gif"
width="148" height="61">')
	}
 } else {
	// sabato e domenica
	document.write('<img src="../images/inattivo.gif" width="148"
height="61">')
 }
'bye