Testo colorato in base a giorno settimana

Darkbox

Nuovo Utente
6 Apr 2020
19
0
1
Ho creato una pagina html (esempio: prova.html) contenente una riga di testo con i giorni della settimana
Lun Mar Mer Gio Ven Sab Dom
A ogni giorno è linkata una nuova pagina.
Avrei necessità che quando si apre la pagina "prova", il giorno venga automaticamente evidenziato in base al giorno della settimana e che ci sia una barra sotto il giorno per evidenziarlo
Esempio: se oggi è venerdì, ven diventa un colore diverso rispetto agli altri giorni
Ho trovato questo sito. che fa al caso mio: Esempio
C'è qualcuno che può aiutarmi? Tenete presente che sono alle primissime armi e autodidatta;);)
Grazie per il vostro aiuto
 

Tommy03

Utente Attivo
6 Giu 2018
551
53
28
17
Bassano del Grappa (VI)
Se puoi usare php (devi rinominare il file a .php), puoi sfruttare la funzione date(), che con parametro "l" restituisce il nome del giorno corrente in inglese:
PHP:
<p class='<?php if(date("l") == "Monday"){echo "sottolineato";}?>'>Lun</p>
<p class='<?php if(date("l") == "Tuesday"){echo "sottolineato";}?>'>Mar</p>
<p class='<?php if(date("l") == "Wednesday"){echo "sottolineato";}?>'>Mer</p>
...
Dopo dovrai creare una classe css .sottolineato, in cui metterai le proprietà che vuoi (nel tuo caso border-bottom ad esempio).

In alternativa, se non vuoi usare php, puoi usare Javascript, con la funzione getDay() che ti restituisce il numero del giorno della settimana (ad esempio, martedì = 2, mercoledì = 3, ...)
 
Ultima modifica:

Darkbox

Nuovo Utente
6 Apr 2020
19
0
1
Se puoi usare php (devi rinominare il file a .php), puoi sfruttare la funzione date(), che con parametro "l" restituisce il nome del giorno corrente in inglese:
PHP:
<p class='<?php if(date("l") == "Monday"){echo "sottolineato";}?>'>Lun</p>
<p class='<?php if(date("l") == "Tuesday"){echo "sottolineato";}?>'>Mar</p>
<p class='<?php if(date("l") == "Wednesday"){echo "sottolineato";}?>'>Mer</p>
...
Dopo dovrai creare una classe css .sottolineato, in cui metterai le proprietà che vuoi (nel tuo caso border-bottom ad esempio).

In alternativa, se non vuoi usare php, puoi usare Javascript, con la funzione getDay() che ti restituisce il numero del giorno della settimana (ad esempio, martedì = 2, mercoledì = 3, ...)
Si posso usare php, il problema sta proprio li: Non saprei come creare il file php e dove poi inserire il collegamento nella pagina.
Questo è il codice che uso per far apparire il testo nella pagina:

Codice:
<ul>
                                <li><a href="#mon">Mon</a></li>
                                <li><a href="#tue">Tue</a></li>
                                <li><a href="#wed">Today</a></li>
                                <li><a href="#thu">Thu</a></li>
                                <li><a href="#fri">Fri</a></li>
                                <li><a href="#sat">Sat</a></li>
                                <li><a href="#sun">Sun</a></li>
                            </ul>
                            <div id="mon">
                                <div class="row movie-tabs">
                                    <div class="col-md-2 col-sm-3">
                                        <a href="single-movie.html">
                                            <img src="http://via.placeholder.com/265x340"
                                            
                                            ecc. ecc. ecc
 

Tommy03

Utente Attivo
6 Giu 2018
551
53
28
17
Bassano del Grappa (VI)
PHP:
<li class='<?php if(date("l") == "Monday"){echo "sottolineato";}?>'><a href="#mon">Mon</a></li>
<li class='<?php if(date("l") == "Tueday"){echo "sottolineato";}?>'><a href="#tue">Tue</a></li>
<li class='<?php if(date("l") == "Wednesday"){echo "sottolineato";}?>'><a href="#wed">Wed</a></li>
<li class='<?php if(date("l") == "Thursday"){echo "sottolineato";}?>'><a href="#thu">Thu</a></li>
<li class='<?php if(date("l") == "Friday"){echo "sottolineato";}?>'><a href="#fri">Fri</a></li>
<li class='<?php if(date("l") == "Saturday"){echo "sottolineato";}?>'><a href="#sat">Sat</a></li>
<li class='<?php if(date("l") == "Sunday"){echo "sottolineato";}?>'><a href="#sun">Sun</a></li>
e poi nel css metti tipo:
HTML:
.sottolineato{
border-bottom: 2px solid red;
}
Ma ti serve anche visualizzare Today al posto di Tue?
 

Darkbox

Nuovo Utente
6 Apr 2020
19
0
1
PHP:
<li class='<?php if(date("l") == "Monday"){echo "sottolineato";}?>'><a href="#mon">Mon</a></li>
<li class='<?php if(date("l") == "Tueday"){echo "sottolineato";}?>'><a href="#tue">Tue</a></li>
<li class='<?php if(date("l") == "Wednesday"){echo "sottolineato";}?>'><a href="#wed">Wed</a></li>
<li class='<?php if(date("l") == "Thursday"){echo "sottolineato";}?>'><a href="#thu">Thu</a></li>
<li class='<?php if(date("l") == "Friday"){echo "sottolineato";}?>'><a href="#fri">Fri</a></li>
<li class='<?php if(date("l") == "Saturday"){echo "sottolineato";}?>'><a href="#sat">Sat</a></li>
<li class='<?php if(date("l") == "Sunday"){echo "sottolineato";}?>'><a href="#sun">Sun</a></li>
e poi nel css metti tipo:
HTML:
.sottolineato{
border-bottom: 2px solid red;
}
Ma ti serve anche visualizzare Today al posto di Tue?
Si sarebbe interessante anche visualizzare Today al posto del giorno della settimana.
In questi gg ci provo ad apporre le modifiche poi ti faccio sapere del risultato.
Grazie mille per la disponibilità
 

Darkbox

Nuovo Utente
6 Apr 2020
19
0
1
Ho provato ad inserire il codice ma senza ottenere risultato, Forse sbaglio io qualcosa.
Mi rimane sempre evidenziato il terzo giorno a partire da sinistra

Oggi è mercoledi, dovrebbe colorare e sottolineare Wed ed invece Fri (che è il terzo)

Se cambio la disposizione dei giorni, succede sempre la stessa cosa. Questo il codice che ho inserito:

Immagine 2021-01-05 180959.png


Codice:
<div class="tabs movies">
                            <ul>                           
                            <li class='<?php if(date("1") == "Wednesday"){echo "sottolineato";}?>'><a href="#wed">Wed</a></li>
                            <li class='<?php if(date("1") == "Thursday"){echo "sottolineato";}?>'><a href="#thu">Thu</a></li>
                            <li class='<?php if(date("1") == "Friday"){echo "sottolineato";}?>'><a href="#fri">Fri</a></li>
                            <li class='<?php if(date("1") == "Saturday"){echo "sottolineato";}?>'><a href="#sat">Sat</a></li>
                            <li class='<?php if(date("1") == "Sunday"){echo "sottolineato";}?>'><a href="#sun">Sun</a></li>
                            <li class='<?php if(date("l") == "Monday"){echo "sottolineato";}?>'><a href="#mon">Mon</a></li>
                            <li class='<?php if(date("1") == "Tueday"){echo "sottolineato";}?>'><a href="#tue">Tue</a></li>
                            </ul>
                            <div id="mon">
                                <div class="row movie-tabs">
Sto diventando pazzo con sta cosa.......:D
 

Tommy03

Utente Attivo
6 Giu 2018
551
53
28
17
Bassano del Grappa (VI)
Scusami forse ho sbagliato a fare copia/incolla... Mi pare che dentro a date() c'è quasi sempre un 1, invece deve essere una L minuscola, come è già giusto sulla riga del monday
 

Darkbox

Nuovo Utente
6 Apr 2020
19
0
1
Ho provato ad inserire il codice ma senza ottenere risultato, Forse sbaglio io qualcosa.
Mi rimane sempre evidenziato il terzo giorno a partire da sinistra

Oggi è mercoledi, dovrebbe colorare e sottolineare Wed ed invece Fri (che è il terzo)

Se cambio la disposizione dei giorni, succede sempre la stessa cosa. Questo il codice che ho inserito:

Vedi l'allegato 7745

Codice:
<div class="tabs movies">
                            <ul>                          
                            <li class='<?php if(date("1") == "Wednesday"){echo "sottolineato";}?>'><a href="#wed">Wed</a></li>
                            <li class='<?php if(date("1") == "Thursday"){echo "sottolineato";}?>'><a href="#thu">Thu</a></li>
                            <li class='<?php if(date("1") == "Friday"){echo "sottolineato";}?>'><a href="#fri">Fri</a></li>
                            <li class='<?php if(date("1") == "Saturday"){echo "sottolineato";}?>'><a href="#sat">Sat</a></li>
                            <li class='<?php if(date("1") == "Sunday"){echo "sottolineato";}?>'><a href="#sun">Sun</a></li>
                            <li class='<?php if(date("l") == "Monday"){echo "sottolineato";}?>'><a href="#mon">Mon</a></li>
                            <li class='<?php if(date("1") == "Tueday"){echo "sottolineato";}?>'><a href="#tue">Tue</a></li>
                            </ul>
                            <div id="mon">
                                <div class="row movie-tabs">
Sto diventando pazzo con sta cosa.......:D
Provato a far modifica ma nulla
 

Tommy03

Utente Attivo
6 Giu 2018
551
53
28
17
Bassano del Grappa (VI)
Prova anche così:
PHP:
<li class="<?php if(date('N') == 1){echo 'sottolineato';}?>"><a href="#mon">Mon</a></li>
<li class="<?php if(date('N') == 2){echo 'sottolineato';}?>"><a href="#tue">Tue</a></li>
<li class="<?php if(date('N') == 3){echo 'sottolineato';}?>"><a href="#wed">Wed</a></li>
<li class="<?php if(date('N') == 4){echo 'sottolineato';}?>"><a href="#thu">Thu</a></li>
<li class="<?php if(date('N') == 5){echo 'sottolineato';}?>"><a href="#fri">Fri</a></li>
<li class="<?php if(date('N') == 6){echo 'sottolineato';}?>"><a href="#sat">Sat</a></li>
<li class="<?php if(date('N') == 7){echo 'sottolineato';}?>"><a href="#sun">Sun</a></li>
Il sito è online? Se sì, posso vederlo?
 

Darkbox

Nuovo Utente
6 Apr 2020
19
0
1
Grazie per la tua pazienza. Il sito non è online, ma è appoggiato ad un server che uso per fare prove. Questo il link Naturalmente tutto abbozzato.
 

Tommy03

Utente Attivo
6 Giu 2018
551
53
28
17
Bassano del Grappa (VI)
Non funziona perché il file si chiama prova.html... deve essere un file php (prova.php) altrimenti non funziona
 

macus_adi

Utente Attivo
5 Dic 2017
1.319
88
48
IT/SW
Avrei necessità che quando si apre la pagina "prova", il giorno venga automaticamente evidenziato in base al giorno della settimana e che ci sia una barra sotto il giorno per evidenziarlo
Senza utilizzare PHP potresti utilizzare JS con moment e i data-* attributes!
Se vuoi utilizzare php, evita tutte le if....

PHP:
$days=['Sun','Mon'....etc);
array_map(function($el){
    echo '<li class="'.($el==date('w'))?'sottolineato':null.'"><a href="#'.$days[$el].'">'.$days[$el].'</a></li>';
},range(0,6));
Il tutto lo riassumi così in php!
 
Ultima modifica: