Link nach dem klick einfärben

  • Hi,
    ich versuche gerade dafür zu sorgen das wenn ich dein link

    HTML
    <a href="#idxx">Link</a>


    anklicke (und der browser zum elem. springt ) den link via css anzusprechen (pseudoklasse)
    aber :target zählt nur für das element mit der ID .. :x

    CSS
    a:target{
     color: blue;
    }


    funktioniert natürlich nicht...


    Gibt es ne rein CSS basierte Lösung?

  • CSS
    a:active {
        color: blue;
    }


    ?


    Ansonsten kannst du bei Reaktionen auf Klick ohne Javascript mit dem checkbox-Hack arbeiten, das erfordert allerdings immer das zusätzliche Markup im HTML und ist nicht wirklich semantisch korrekt..

  • Über CSS möglich? Ja, dazu musst du nur den entsprechenden Link in den Ziel-Container packen und per position in die Steuerung verschieben, sehr unüblich.


    Nimm JavaScript (und poste deine Lösung hier?^^).


    Der :active Selektor greift leider nur so lange wie die Maustaste gedrückt wird.

  • Das mit dem active ... hat basi ja gerade gesagt ..
    und ja das mit dem in die Navigation schieben ist doch ehrlich gesagt besch***en. oder? -klar würde es dann gehen

    CSS
    #idxx:target a{
        color: blue;
    }

    aber naja werde wohl eh noch mit JS arbeiten weil wegen das gleiche auch passieren soll wenn man zu diesem elem. scrollt von daher werde ich mir das sogar warscheinlich kommplett sparen.. mal sehn.

  • Also ich habe diesen Begriff mal umgesetzt :D
    Die zu überwachenden Elemente müssen ID's besitzen die
    a) Beim element als »id="ID
    b) Im Array »keys«
    c) Im zu markierenden Element als Attribut »data-linked» mit der jeweiligen ID als Wert
    Hinterlegt sind


    Beim zu markierenden Element wird bei zutreffender Bedingung die klasse »active« hinterlegt


    scrollspy.js

    HTML
    <a href="#EINS" data-linked="EINS">Zu EINS</a>
    <div id="EINS">
    </div>


    Wenn jetzt das Div EINS nurnoch 150px vom oberen Rand entfernt ist, wird beim Link die klasse »active« hineingeschrieben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!