Ciao e benvenuto tra noi
L'arcano sta nella condizione della Sera:
else if(hours >= 18 && hours < 0)
La condizione infatti non si verifica mai perchè un numero non può essere maggiore di 18 e nello stesso tempo minore di 0.
Il problema sta tutto li
![]()
Ho utilizzato un script che serve a far aprire una determinata pagina in un determinato punto, eccone una sintesi (quella che interessa il post):
Le pagine relative presentano il seguente codiceCodice:<script type="text/javascript" language="JavaScript"> function Carica() { var now = new Date(); var hours = now.getHours(); var ancora = ""; altezza = ""; if(hours >= 6 && hours < 12){ ancora = "m"; altezza = "350px"; }else if(hours >= 12 && hours < 18){ ancora = "p"; altezza = "350px"; }else if(hours >= 18 && hours < 0){ ancora = "s"; altezza = "350px"; }else if(hours >= 0 && hours < 6){ ancora = "n"; altezza = "350px"; }
che è appunto il punto che dovrebbe apparire all'apertura della pagina.Codice:<div class="ancora"><a name="m">MATTINA</a></div> <div id="Mattino"> <div class="ancora"><a name="p">POMERIGGIO</a></div> <div id="Pome"> <div class="ancora"><a name="s">SERA</a></div> <div id="Sera"> <div class="ancora"><a name="n">NOTTE</a></div> <div id="Notte">
i CSS relativi sono
Qual'è il problema?Codice:} #Mattino{ width: 650px; margin-right: auto; margin-left: auto; } #Pome{ width: 650px; margin-right: auto; margin-left: auto; } #Sera{ width: 650px; margin-right: auto; margin-left: auto; } #Notte{ width: 650px; margin-right: auto; margin-left: auto; } .ancora{ font-style: italic; height: 20px; margin-bottom: 10px; width: 650px; margin-right: auto; margin-left: auto; text-align: center; margin-top: 10px; }
Che al mattino e al pomeriggio tutto funziona regolarmente, a partire dalle 18, quando dovrebbe scattare la sera, in poi si visualizza solo il mattino e in un formato di frame ridotto rispetto al funzionante.
Qualcuno ne capisce l'arcano?
Ciao e benvenuto tra noi
L'arcano sta nella condizione della Sera:
else if(hours >= 18 && hours < 0)
La condizione infatti non si verifica mai perchè un numero non può essere maggiore di 18 e nello stesso tempo minore di 0.
Il problema sta tutto li
![]()
Consulenza Organizzativa, Software Gestionali e Realizzazione Siti Web.
http://www.bzconsulting.it
quinsi se lo 0 (mezzanotte) diventa 24...........giusto?
No
Devi fare:
else if(hours >= 18 && hours <= 23)
![]()
Consulenza Organizzativa, Software Gestionali e Realizzazione Siti Web.
http://www.bzconsulting.it
Ah! mannaggia! ma la mezzanotte come si conta?
Prova con:
hours == 0
Oppure nel blocco "else".
Luca Ruggiero
Resp. didattico www.mrwcorsi.it
Consulenza Organizzativa, Software Gestionali e Realizzazione Siti Web.
http://www.bzconsulting.it
Codice:if(hours >= 6 && hours < 12){ ancora = "m"; altezza = "350px"; }else if(hours >= 12 && hours < 18){ ancora = "p"; altezza = "350px"; }else if(hours >= 18 && hours < 23){ ancora = "s"; altezza = "350px"; }else if(hours >= 0 && hours < 6){ ancora = "n"; altezza = "350px"; }![]()
come al solito scusate l'intromissione
non vorrei dire una czz, ma secondo me <=23 alle 23.00001 passa a notte, secondo me dovrebbe essereelse if(hours >= 18 && hours <= 23)
farà si che la fase "Sera" sia valida fino alle 23.59, poi dalle ore 0.00 automaticamente inizierà la "Notte".
hours>=18 and hours <24 per cui 23 59' 59.998" minore, mentre 24 0' 0" maggiore
No ragazzi, a questo punto non avete capito il concetto di base della faccenda
La condizione:
else if(hours >= 18 && hours <= 23)
fa un controllo sul valore di hours.
Bene, la variabile hours non contiene l'ora intera, come per esempio le 23 59' 59.998, ma contiene il valore dell'ora, ovvero ha come valore 23.
Questo lo si deduce da questa riga:
var hours = now.getHours();
Quindi, che siano le 23.01, o le 23.59, hours ha sempre come valore 23.
Ecco spiegato perchè è giusta la condizione che ho postato ieri, che fa si che la condizione si verifichi fino a tutta la durata delle ore 23. Alle ore 0.00, scatterà automaticamente la condizione:
if(hours >= 0 && hours < 6)
Chiaro adesso?![]()
Consulenza Organizzativa, Software Gestionali e Realizzazione Siti Web.
http://www.bzconsulting.it