colorare il tasto del menu all'apertura del div

Mauro Seu

Nuovo Utente
17 Gen 2016
11
0
0
ciao ragazzi :mavieni: :mavieni:
Vi spiego il problema il mio sito (index.html) ha un menu creato col css dove ad ogni "tasto" apre un div differente, e ogni div ha il suo contenuto in una pagina dislocata dal'index.
Io vorrei che ogni volta che clicco un tasto (dal menu) e apro un div quel tasto si colori per tutto il tempo che visito il div! come posso fare?
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.233
321
83
Il menu apre pagine diverse o quello che tu chiami div sono tutti nella stessa pagina
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.233
321
83
Allora è semplice devi solo creare una classe "current"
ES:
Codice:
<li id="current"><a href="#"><span>Pag1</span></a></li>
<li><a href="#"><span>Pag2</span></a></li>
<li><a href="#"><span>Pag3</span></a></li>
..............................
..................................
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.233
321
83

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.233
321
83
Ciao Max 1,
Puoi postare la tua soluzione tramite css?
Jquery lo consiglio per gestire il cambio dell'url di pagina...si potrebbe fare anche con php...
Saluti
perché quello che ho scritto sopra prima di te dicendo di usare una classe non è una soluzione css senza usare soluzione dinamiche che in questo caso sono una esagerazione inutile
 

SamTo

Utente Attivo
18 Apr 2015
40
0
6
Torino
perché quello che ho scritto sopra prima di te dicendo di usare una classe non è una soluzione css senza usare soluzione dinamiche che in questo caso sono una esagerazione inutile
Max 1, cerco di spiegarmi meglio :

Da quello che ho capito, Mauro Seu ha un menu composto da voci associate a pagine, cliccando sulla voce interessata si apre la pagina associata (un menu normalissimo).

Il risultato da ottenere è : il cambio di colore della voce di menu associata alla pagina aperta.

Per arrivare a tale risultato è necessario "estrapolare" l'url della pagina che viene visitata e solo successivamente associarle una classe per il cambio di colore. L'estrapolazione è necessaria per far cambiare colore esclusivamente alla voce di menu associata alla pagina che stiamo visitando.

Ovviamente per "l'estrapolazione" serve una funzione dinamica (js/php).

La soluzione da te proposta parla esclusivamente dell'aggiunta di una classe, ma in questo modo il cambio colore rimarrebbe definitivo e non correlato alla pagina visitata. Inoltre nel codice che hai postato non hai aggiunto una classe ma un ID...

Quindi mi chiedo, in che modo la semplice aggiunta di una classe (o ID se parliamo del codice) porta al risultato da ottenere?
Sono io che ho interpretato male la richiesta di Mauro Seu?

Saluti
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.233
321
83
Max 1, cerco di spiegarmi meglio :

Da quello che ho capito, Mauro Seu ha un menu composto da voci associate a pagine, cliccando sulla voce interessata si apre la pagina associata (un menu normalissimo).

Il risultato da ottenere è : il cambio di colore della voce di menu associata alla pagina aperta.

Per arrivare a tale risultato è necessario "estrapolare" l'url della pagina che viene visitata e solo successivamente associarle una classe per il cambio di colore. L'estrapolazione è necessaria per far cambiare colore esclusivamente alla voce di menu associata alla pagina che stiamo visitando.

Ovviamente per "l'estrapolazione" serve una funzione dinamica (js/php).

La soluzione da te proposta parla esclusivamente dell'aggiunta di una classe, ma in questo modo il cambio colore rimarrebbe definitivo e non correlato alla pagina visitata. Inoltre nel codice che hai postato non hai aggiunto una classe ma un ID...

Quindi mi chiedo, in che modo la semplice aggiunta di una classe (o ID se parliamo del codice) porta al risultato da ottenere?
Sono io che ho interpretato male la richiesta di Mauro Seu?

Saluti
Ciao
Ti eri già spiegato bene e avevi capito bene la richiesta! Ma resta il fatto che la fai troppo complicata la cosa!
ID o Classe non cambia nulla!

Ti ho fatto un piccolo esempio con un ID VEDI QUI
 

SamTo

Utente Attivo
18 Apr 2015
40
0
6
Torino
Ciao
Ti eri già spiegato bene e avevi capito bene la richiesta! Ma resta il fatto che la fai troppo complicata la cosa!
ID o Classe non cambia nulla!

Ti ho fatto un piccolo esempio con un ID VEDI QUI

Max 1, grazie per esserti preso del tempo per creare l'esempio,
l'ho analizzato tramite Firebug, credo di aver capito la tua idea, dimmi se è così :

- hai creato 4 pagine statiche e contenenti ognuna 1 menu
- ognuno di questi 4 menu presenta lo stesso markup html/css delle altre
- ognuno di questi 4 menu ha un id "current" posizionato nella voce correlata alla pagina contenitore
- ovviamente l'id "current" presenta uno stile css diverso dalle altre voci di menu

per un sito statico la tua soluzione è perfetta!

Il mio consiglio riguardo l'uso di jquery è nell'ottica di una futura crescita del sito, con la conseguente trasformazione dinamica.
Lo svantaggio di avere un menu statico su ogni pagina diventa evidente quando bisogna apportare una modifica, ovvero la modifica va effettuata su tutte le pagine del sito. Svantaggio irrilevante per un sito di 4 pagine, ma sicuramente da considerare per un sito di 100...

Usando il metodo con jquery ci si lascia l'opportunità di ingrandire il sito senza grosse modifiche , sarà sufficiente includere il menu nelle pagine come file esterno (php) e tutte le modifiche sul menu saranno eseguite una sola volta...

Ti lascio come link l'esempio della mia visione (già visibile nell'articolo): Menu Jquery

Buona Domenica
 
Ultima modifica:

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.233
321
83
I tuo concetto è ovvio ma:
  1. Mauro non ha specificato ne il tipo di sito ne altro che ci faccia capire cosa deve essere ora e in futuro
  2. Non sappiamo le competenze di Mauro quindi dobbiamo presumere che siano alle prime basi.
  3. Non sappiamo se può usare PHP
  4. Deve essere lui a specificare cosa vuole ottenere e cosa è in grado di acquisire
Per questo ho proposto la soluzione più semplice, poi è ovvio che se si vuole si può usare metodi più soffisticati come le inclusione lato-server o lato-client con il semplice JS

@Mauro Tocca a te parlare e dire ciò che vuoi ottenere
 

SamTo

Utente Attivo
18 Apr 2015
40
0
6
Torino
@Max 1, Capisco il tuo punto di vista, ma rimane il mio consiglio.
La soluzione è semplice, e secondo la mia visione preferisco lasciare sempre più porte aperte possibili per il futuro
.
Saluti
 
Ultima modifica:

Mauro Seu

Nuovo Utente
17 Gen 2016
11
0
0
ciao ragazzi allora diciamo che con il php sono ancora un pò lento ma css html e pane quotidiano io sto creando un sito dinamico con dietro un bel database.
Il mio sito avrà una pagina index dove e solo li risiede il menu poi tutte le altre pagine avranno il contenuto del sito di immagini quindi cosa irrisolvibile tramite css. L'esempio di max1 e carino ed interessante ma avendo già valanghe di codice mettere il menu in ogni pagina e un po pesante quindi cerco una soluzione tramite una qualche funzione.
quindi ringrazio entrambi per la soluzione.:)
 

SamTo

Utente Attivo
18 Apr 2015
40
0
6
Torino
Mauro non sono sicuro di aver capito di cosa hai davvero bisogno quindi ti lascio due esempi :

1) Sei hai bisogno di un menu con classe attiva sul div corrente di un'unica pagina puoi guardare questo esempio

2) Se invece hai bisogno di un menu dinamico visibile su tutte le pagine del sito, ma in cui le future modifiche possano essere effettuate solo su un file e riportate in automatico su tutte le pagine, ti ho creato un esempio con istruzioni, lo puoi scaricare qui.

Buon lavoro
 
Ultima modifica:

Mauro Seu

Nuovo Utente
17 Gen 2016
11
0
0
il mio menu risiede solo su un file (index.html) e tramite questo apro le altre pagine tramite un div posizionato sotto di esso
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.233
321
83
il mio menu risiede solo su un file (index.html) e tramite questo apro le altre pagine tramite un div posizionato sotto di esso
Se questo è un tuo modo per fare una galleria fotografica, non è molto adatto! Ci sono altri modi più idonei.

N.B. Non vuole essere una critica ma solo una mia personale osservazione
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.233
321
83

SamTo

Utente Attivo
18 Apr 2015
40
0
6
Torino
Grazie @Max 1,
@Mauro Seu se vuoi colorare la voce del menu finchè rimane aperto il div associato puoi usare jquery sul tuo menu in questo modo :


Codice:
codice eliminato
Buon lavoro
 
Ultima modifica: