[JavaScript] aktueller link makieren

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Metzelbude, 12. Januar 2009 .

  1. 12. Januar 2009
    aktueller link makieren

    Hi,

    suche eine einfach Lösung für das Hervorheben deer gerade besuchten Seite.

    Ich klicke einen Link an, der bleibt so lange Fett bis ich einen anderen anklicke der dann natürlich auch Fett wird.

    Hoffe mir kann jeamdn eine Lösung geben.

    Gruß Metzelbude
     
  2. 12. Januar 2009
    AW: aktueller link makieren

    Ich bin mir nicht sicher, ob man das über a:active lösen kann, musst du ausprobieren.

    Ansonsten würde ich pers. es über JavaScript regeln.

    Wenn du jQuery hast, könnte man es wie folgt lösen:
    Code:
    var active = false;
    function hervorheben(id)
    {
     if (active) $("#"+active).css("font-weight","regular");
     $("#"+id).css("font-weight","bold");
     active = id;
    }
    Die Links müssten dann wie folgt aussehen:
    Code:
    <a onclick="javascript:hervorheben('eins');" id="eins">Link nummer 1</a>
    <a onclick="javascript:hervorheben('zwei');" id="zwei">Link nummero 2</a>
    ^ Ist nur ein Gedankengang, bin mir nicht sicher, ob es so funktioniert und gerade, wenn du mit jQuery arbeitest kann man es sicherlich schöner lösen
     
  3. 12. Januar 2009
    AW: aktueller link makieren

    ich werd das mal versuchen a:active ist nur für die zeit in der geklickt wird. also während die maustaste gedrückt ist.

    schon mal danke
     
  4. 12. Januar 2009
    AW: aktueller link makieren

    Okay, dann kannst du meinen Gedankengang bzgl. JavaScript (+ jQuery) weiterverfolgen und schön ausformulieren ^_^
     
  5. 12. Januar 2009
    AW: aktueller link makieren

    a:active = link ist activ (focus), links bleibt nur so lange fett bis man mit der maus irgendwo anders hinklickt.

    onclick="javascript:machwas();" is btw falsch, "javascript:" hat da nichts zu suchen.

    HTML:
    <html>
     <head>
     <title>Asdf</title>
     <style type="text/css">
     a.active { font-weight: bold; }
     </style>
     <script type="text/javascript" src="http://www.prototypejs.org/assets/2008/9/29/prototype-1.6.0.3.js"></script>
     <script type="text/javascript">
     function activate(node) 
     {
     $$('a.active').each(function(n) {
     n.removeClassName('active');
     });
     
     $(node).addClassName('active');
     }
     
     Event.observe(window, 'load', function() {
     $$('a.actable').each(function(n) {
     n.observe('click', function() {
     activate(this);
     });
     });
     });
     </script>
     </head>
     <body>
     <a href="#" class="actable">foo</a>
     <a href="#" class="actable">bar</a>
     </body>
    </html>
    ps: wenn du kein framework willst kann ich dir das script auch umschreiben.
     
  6. 12. Januar 2009
    AW: aktueller link makieren

    @murdoc: framework heißt dass es mit frames funzt? weil das funktioniert ja jetzt nur mit frames, rein logisch....

    also wärs schon ganz cool wenn du mir das umschreiben könntest.
    schon mal vielen dank
     
  7. 12. Januar 2009
    AW: aktueller link makieren

    Sachen wie "$$('a.active').each(function(n) {" im Quellcode ermöglichen das Prototype Framework, mit reinem JavaScript müsste man es anders schreiben.
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.