Visualizzazione risultati 1 fino 7 di 7

Discussione: Come Cambiare stylesheet con un Link

  1. #1
    pkmongiudizio non è connesso Neofita
    Data registrazione
    10-12-2011
    Messaggi
    23

    Predefinito Come Cambiare stylesheet con un Link

    Ciao a tutti, ho un piccolo problema, in pratica vorrei mettere una nuova versione Nel mio sito.
    In questa versione vorrei inserire un link che cliccandoci sopra permette di cambiare lo stile della pagina.

    Esempio

    <link href="STILE 1" rel="stylesheet" type="text/css" media="all">



    *CLICCO SUL LINK*



    <link href="STILE 2" rel="stylesheet" type="text/css" media="all">

  2. #2
    Guest

    Predefinito

    Ecco quà

    Codice HTML:
    <!DOCTYPE html>
    <html>
      <head>
        <link rel="stylesheet" href="file.css" id="stile" />
        <script type="text/javascript">
        function cambia(cosa,incosa){
          document.getElementById(cosa).href=incosa;
        }
        function mostra(){
          alert(document.getElementById('stile').href);
        }
       </script>
      </head>
      <body>
        <a href="#" onclick="cambia('stile','nuovo.css');">Cambia</a>
      </body>
    </html>
    La funzione mostra() è solo di debug.
    Ultima modifica di helpcode : 19-08-2013 alle ore 17.07.56

  3. #3
    pkmongiudizio non è connesso Neofita
    Data registrazione
    10-12-2011
    Messaggi
    23

    Predefinito

    Grazie è perfeto MA c'è un problema una volta cambiato foglio stile se clicco su una sezione del sito vengo si portato alla sezione ma il foglio stile torna lo stesso


    Come mai?

  4. #4
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    23,246

    Predefinito

    Devi salvarti anche un cookie in modo di ricordarti che stile ha scelto l'utente. Tramite javascript puoi usare "document.cookie" assegnandogli una stringa ben definita (cercando online troverai anche funzioni già fatte del tipo "setCookie()").

    Non dimenticarti però anche degli utenti che non hanno javascript: io creerei anche dei link a pagine PHP che impostano i cookie tra tag <noscript>. Quindi, ogni volta che scrivi il <link>, controlli sempre se c'é il cookie impostato. Una cosa del tipo:

    Codice PHP:
    <link href="<?= isset($_COOKIE['stile'])?$_COOKIE['stile']:'stile_predefinito' ?>" rel="stylesheet" type="text/css" media="all">
    Ah, dimenticavo: se non conosci né javascript né PHP, il tutto non sarà facile da fare. Altrimenti, vedrai che è una cosa banale .

    Ciao!

  5. #5
    pkmongiudizio non è connesso Neofita
    Data registrazione
    10-12-2011
    Messaggi
    23

    Predefinito

    Aspetta a quanto o capito i cookie servono a ricordarsi i dati degli utenti? Ma dove dovrei inserirli, in questa stringa
    Codice:
        <script type="text/javascript">
        function cambia(cosa,incosa){
          document.getElementById(cosa).href=incosa;
        }
        function mostra(){
          alert(document.getElementById('stile').href);
        }
       </script>
    Ultima modifica di alemoppo : 20-08-2013 alle ore 12.55.23 Motivo: +tag [code]

  6. #6
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    23,246

    Predefinito

    Beh, o prima o dopo la document.getElementById() [...] che cambia lo style. L'importante è farlo eseguire quando l'utente vuol cambiar grafica/stile. No?

    Ciao!

  7. #7
    pkmongiudizio non è connesso Neofita
    Data registrazione
    10-12-2011
    Messaggi
    23

    Predefinito

    Grazie Mille ci sono Riuscito :)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •