Testo colorato in base a giorno settimana

  • Creatore Discussione Creatore Discussione Darkbox
  • Data di inizio Data di inizio

Darkbox

Utente Attivo
6 Apr 2020
25
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
 
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:
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
 
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?
 
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à
 
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
 
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
 
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
 
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?
 
Non funziona perché il file si chiama prova.html... deve essere un file php (prova.php) altrimenti non funziona
 
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:

Discussioni simili