Visualizzazione dei risultati da 1 a 9 su 9

Discussione: a#activelink dinamico

  1. #1

    a#activelink dinamico

    Non so se il mio problema riguarda esattaemnte i fogli di stile.
    Anzi più che una domanda è un consiglio quello che vi chiedo.

    Ho un menù ed ogni link di questo menù è contenuto in un div.
    Ecco lo stile dei link:

    codice:
    div#navigation a{
    padding: 7px 0px 7px 3px;
    color: #FF7F50;
    font: 72% Arial, Helvetica, verdana, sans-serif;
    text-decoration: none;
    display:block;
    }
    div#navigation a:hover{
    background-color:#F5F5F5;
    text-decoration: none;
    }
    div#navigation a#activelink{
    background-color:#F5F5F5;
    background-image: url(images/nav_icon.gif);
    background-position: right;
    background-repeat: no-repeat;
    text-decoration: none;
    }
    Il problema mi si era presentato quando mi resi conto che l'activelink doveva essere "dinamico".
    Dinamico perchè il sito in costruzione è composto da una sola pagina php che utilizza la funzione include() per includere le varie pagine, ottenendo così una specie di effetto "frame" avendo un menù fisso e un contenuto variabile a seconda del contenuto dell'include.
    Posto anche il codice php per far capire meglio:

    Codice PHP:
                <?php
                
    if (empty($_GET['p'])) { /*se p è vuota*/
                
    $p="index";
                }
                else {
                
    $p=$_GET['p'];
                }
                include(
    "pages/".$p.".html"); /*includi /pages/p.html*/
                
    ?>
    ed ecco come ho impostato i link:

    codice:
    <a id="<?php if ($p==contacts) { echo "activelink";}?>" href="index.php?p=contacts">Contatti</a>
    Ho risolto il mio problema deell'active link dinamico con lo spezzone di codice in grassetto ossia:
    codice:
    id="<?php if ($p==contacts) { echo "activelink";}?>"
    E adesso mi chiedo:
    mi conviene utilizzare il php per fare cio'? Non rendera eccessivamente lungo il caricamento della pagina? Non conviene lasciare il lavoro al client utilizzando magari il Javascript?
    Insomma: ci sono metodi più convenienti?
    Se si potreste espormeli con i loro pro e contro?

    Scusate la domanda forse un po' banale ma sono alla mia prima esperienza di produzione web quindi ho veramente poca esperienza.

    Grazie a tutti dell'aiuto che sono certo mi darete

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    il problema non risiede nei CSS bensì in come applicarlo

    mi conviene utilizzare il php per fare cio'? Non rendera eccessivamente lungo il caricamento della pagina? Non conviene lasciare il lavoro al client utilizzando magari il Javascript?
    A mio parere un istruzione IF su un confronto di variabile influisce in modo risibile sul tempo complessivo di esecuzione dello script. Inoltre su javascript non puoi mai fare affidamento (anche se fosse, sposteresti solo il tempo di esecuzione dal server al client)


    Ti sposto comunque in PHP per altri pareri
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Scusa ma ero proprio dubbioso su dove mettere questa discussione!
    Molte grazie per l'opinione

    Altre opinioni?

  4. #4
    Anche secondo il mio modesto parere, e per la poca esperienza che ho, conviene fare quello che chiedi, server side. Il tempo di esecuzione della if causerà un ritardo nell'ordine dei nanosecondi... e poi javascript non ce l'hanno abilitato tutti...

  5. #5
    Ok, molte grazie anche del tuo consiglio

  6. #6

  7. #7

  8. #8
    Utente di HTML.it L'avatar di Graboid
    Registrato dal
    Oct 2004
    Messaggi
    619
    Usa l'if .

    Per piacere adesso vai a fare festa

  9. #9
    Originariamente inviato da Graboid
    Usa l'if .

    Per piacere adesso vai a fare festa
    Ok dai mi avete convinto!

    [OT]
    P.S. Festa la si fà a capodanno
    [/OT]

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.