tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
2771
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
DIESES THEMA IST
GESCHLOSSEN
  1. #1
    djtoobee djtoobee ist offline Rookie
    Registriert seit
    Feb 2004
    Beiträge
    8
    Hi Forum,

    Bin ein Anfänger im Bereich html-coding.
    Gibt es eine Möglichkeit, in meiner Navigationsleiste
    den jeweils aktiven Link sichtbar zu deaktivieren (sprich: nicht nur
    "return false")?

    (Evtl. ohne ,dass der (Navi)Frame neu geladen werden muss?
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Was verstehst du denn genau unter "sichtbar deaktivieren"?
    Und auf welches Ereignis hin sollte dies passieren?

    Mit Javascript kannst du das href-Attribut ändern, worüber ein "deaktivieren" möglich ist. Du kannst dies bspw. tun, wenn die Linkadresse identisch ist mit der URL in irgendeinem Fenster/Frame.

    Auch das Aussehen des Links kannst du per Javascript ändern, wie du willst.
    Geändert von Sven Mintel (19.06.04 um 19:21 Uhr)
     

  3. #3
    djtoobee djtoobee ist offline Rookie
    Registriert seit
    Feb 2004
    Beiträge
    8
    Vielen Dank für für die schnelle Antwort.

    Also im Grunde meine ich, wenn ich auf meiner Homepage via Navibar
    die Seiten innerhalb meiner HP wechsele, dass der Link zur jeweils
    aktiven Seite gesperrt/deaktiviert/disabled wird, so dass der User nicht
    nochmal dieselbe Seite aufrufen kann (um evtl. vermeidbare Ladezeiten zu vermeiden).

    Mit sichtbar meinte ich, dass der Cursor bei onMouseover nicht in die "hand" wechselt.

    Habe schon eine onMouseOver-Funktion, vielleicht kann man das mit
    verwenden?!

    Füge mal hier den Code ein.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    
    <script type="text/javascript">
    <!--
    objActive   =false;
     
    strImgPath  ='images/';
     
    strImgType  ='.gif';
     
    function linkoptics(objImg,strSrc,intEvt)
    {
     
    if(intEvt==1)
        {
        objImg.name=strSrc;
        }
     
    if(intEvt==2)
        {
        if(objActive!=objImg)
            {
            objActive.src=strImgPath+objActive.name+strImgType;
            }
        objActive=objImg;
        }
     
    if(objActive!=objImg||intEvt==2)
        {
        objImg.src=strImgPath+strSrc+strImgType;
        }
    }
     
    function change(url1,url2) 
      { 
        parent.center.location = url1; 
        parent.top_left.location = url2; 
      } 
    //--> 
    </script>
     
    </head>
     
    <body bgcolor="ffffff" topmargin="15" leftmargin="0">
    <table border="0" cellpadding="0" cellspacing="0" ><tr>
    <td valign="top">
     
    <td></td><a href="#"><img src="images/info_normal.gif" border="1"
    onMouseOver="linkoptics(this,'info_over',0);"
    onMouseOut="linkoptics(this,'info_normal',1);"
    onClick="linkoptics(this,'info_press',2);change('center_info.html','top_left_info.html');" width="117" height="13" border="1" hspace="5" vspace="2">
    </a>
    <td></td><a href="#"><img src="images/guest_normal.gif" border="1"
    onMouseOver="linkoptics(this,'guest_over',0);"
    onMouseOut="linkoptics(this,'guest_normal',1);"
    onClick="linkoptics(this,'guest_press',2);change('center_guests.html','top_left_guests.html');" width="117" height="13" border="1" hspace="5" vspace="2">
    </a>
    <td></td><a href="#"><img src="images/links_normal.gif" border="1"
    onMouseOver="linkoptics(this,'links_over',0);"
    onMouseOut="linkoptics(this,'links_normal',1);"
    onClick="linkoptics(this,'links_press',2);change('center_links.html','top_left_links.html');" width="117" height="13" border="1" hspace="5" vspace="2">
    </a>
    <td></td><a href="#"><img src="images/contact_normal.gif" border="1"
    onMouseOver="linkoptics(this,'contact_over',0);"
    onMouseOut="linkoptics(this,'contact_normal',1);"
    onClick="linkoptics(this,'contact_press',2);change('center_contact.html','top_left_contact.html');" width="117" height="13" border="1" hspace="5" vspace="2">
    </a>
    <td></td><a href="#"><img src="images/index_normal.gif" border="1"
    onMouseOver="linkoptics(this,'index_over',0);"
    onMouseOut="linkoptics(this,'index_normal',1);"
    onClick="linkoptics(this,'index_press',2);change('center_home.html','top_left_home.html');" width="117" height="13" border="1" hspace="5" vspace="2">
    </a>
     
    </tr>
    </table>
     

  4. #4
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Das geht z.B. so:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    <script type="text/javascript">
    <!--
    function link_weg(obj)
    {
    if (document.getElementById)
        {
        obj.parentNode.style.cursor = 'default';
        obj.onclick = 'return false;';
        }
    }
    //-->
    </script>
    ..im <img> musst du dann den "onclick" erweitern um
    Code :
    1
    
    link_weg(this)
    ...das ändert den Cursor des Elternelements des <img>...also des Links, und ersetzt sämtliche bei onclick notierten Funktionsaufrufe durch 'return false'

    Wozu die Links aber überhaupt da sein sollen, kann ich mir jetzt nicht erklären....wenn es nur wegen der Hand ist, die kannst du auch per CSS auf das <img> zaubern... nen anderen Sinn seh ich bei den Links nicht.
    Geändert von Sven Mintel (21.06.04 um 02:51 Uhr)
     

  5. #5
    djtoobee djtoobee ist offline Rookie
    Registriert seit
    Feb 2004
    Beiträge
    8
    Vielen Dank, der Ansatz ist ja richtig.

    Und das gibt jetzt vielleicht auch mehr Verständnis. Natürlich soll bei
    onClick auf einen anderen Link der evtl. schon deaktivierte wieder aktiviert werden.
    Sozusagen, dass immer nur der Link zur jeweils gewählten Seite deaktiviert ist.
     

  6. #6
    djtoobee djtoobee ist offline Rookie
    Registriert seit
    Feb 2004
    Beiträge
    8
    Gibt es evtl. ein Gegenteil zu "this"?
    So dass alle außer "this" reaktiviert werden?
     

  7. #7
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Nö..da gibts kein Pendant.

    Du kannst höchstens alle Links der Seite durchgehen, und jeden Link, der nicht "this" ist "aktivieren".
    Mit der Hand ist das kein Problem.... den Funktionsaufruf wiederherzustellen dürfte da ungleich schwieriger werden, da der immer variiert, und beim deaktivieren komplett entfernt wird.
     

  8. #8
    djtoobee djtoobee ist offline Rookie
    Registriert seit
    Feb 2004
    Beiträge
    8
    Und wie aktiviere ich den wieder.
    Ein return true wird ja wohl nicht reichen, oder?

    Und die Hand ist dann
    Code :
    1
    
    parentNode.style.cursor = 'hand' : 'pointer';
    ?
     

Ähnliche Themen

  1. <link> href im <head> per js ändern
    Von raybrackho im Forum Javascript & Ajax
    Antworten: 12
    Letzter Beitrag: 04.11.10, 14:11
  2. <a href> mit Bilder und a:link, a:hover
    Von partitionist im Forum CSS
    Antworten: 1
    Letzter Beitrag: 11.04.09, 20:23
  3. Button deaktivieren(Disable)
    Von Asix im Forum Borland CBuilder und VCL
    Antworten: 2
    Letzter Beitrag: 08.01.09, 17:37
  4. SESSION via Link <a href...> setzen?
    Von unrealzero_php im Forum PHP
    Antworten: 2
    Letzter Beitrag: 05.05.06, 22:40
  5. Antworten: 9
    Letzter Beitrag: 11.06.02, 09:02