Avatar billede thyrring Nybegynder
08. august 2001 - 11:33 Der er 13 kommentarer og
1 løsning

Frame navigation

Jeg har et frameset, hvor jeg har tekstlink i en menu.

Jeg vil gerne have at det link man klikker på skifter farve, og at de andre links man har klikket på har en tredie farve.

Har prøvet at løse det med css, men det kan ikke lade sig gøre!

Avatar billede Tony Juniormester
08. august 2001 - 11:44 #1
Forstår ikke helt rigtigt ?

... du har et \"jomfrueligt\" link der f.eks. er blå, efter at have trykket på det bliver det rødt ... og hvad så ?

/Tony
Avatar billede thyrring Nybegynder
08. august 2001 - 11:53 #2
... så skal det blive ved med at være rødt, indtil man klikker på et andet link hvorefter den skifter til fx grøn.
... Det nye link skal blive rødt. alle de besøgte links skal være grønne.

Thyrring
Avatar billede jakoba Nybegynder
08. august 2001 - 12:31 #3
Jeg er noget usikker med om attributten hedder style.color, men ellers skulle den være ok:

<script language=\'javascript\'>

var aktivt = \"\";

function leaving( lnavn ) {
    if ( lnavn == aktivt )
        document.links[lnavn].style.color=\'rødt\'
    else
        document.links[lnavn].style.color=\'grøn\'
}; //end activate( string )

function activate( lnavn ) {
    if ( lnavn != aktivt && aktivt != \"\" )
        document.links[aktivt].style.color=\'grøn\';
    document.links[lnavn].style.color=\'rødt\';
    aktivt = lnavn;
}; //end activate( string )

</script>

i dokumentet skal dine links have en name=... parameter og 3 eventhandlere:

<a href=\'hvorhen.html\'  name=\"linknavn\"
    onmouseover=\"this.style.color=\'over_farve\';\"
    onmouseout=\"leaving(this.name);\"
    onmousedown=\"activate(this.name);\">

mvh JakobA
Avatar billede nikolajdu Nybegynder
08. august 2001 - 12:59 #4
Jakoba - Jeg ser du får samme fejl som jeg gik kold i mit forsøg. document.style.blabla er ikke et objekt.
Avatar billede jakoba Nybegynder
08. august 2001 - 14:16 #5
Ja. :(
men der ER et objekt der hedder \'currentStyle\' i linket så den må være til at finde derinde et sted.
Hvem kommer først? :-))
Avatar billede nikolajdu Nybegynder
08. august 2001 - 14:18 #6
Jeg må indrømme at jeg gav ekstra op efter du svarede :-)

Anyway skal jeg gå nu. Skal lige mødes med drengene inden vi skal ind og se FCK - Lazio - 3:0
Avatar billede thyrring Nybegynder
08. august 2001 - 14:39 #7
Har haft en mand på sagen. Han fandt denne løsning.
Jakoba du får point\'s da du kom med et rimeligt godt forsøg.

script

<SCRIPT LANGUAGE=\"javascript\">
  var aktivt = \"\";

  function leaving( link ) {
    if ( link == aktivt )
      link.style.color=\'#FF0000\';
    else
      link.style.color=\'#0099ff\';
  }

  function activate( link ) {
    if ( link != aktivt && aktivt != \"\" )
      aktivt.style.color=\'#00FF00\';
    link.style.color=\'#FF0000\';
    aktivt = link;
  }
</SCRIPT>

linket

<A HREF=\"billede_1.html\" TARGET=\"indhold\"
  onFocus=\"blur()\"
  onMouseOver=\"this.style.color=\'#0000FF\';\"
  onMouseOut=\"leaving(this);\"
  onMouseDown=\"activate(this);\">A</A>
Avatar billede Tony Juniormester
08. august 2001 - 14:41 #8
> JakobA

Jvf. Flanagan (The definitive ...):

The links[] array af the Document object contains Link objects that represent each of the hypertext links in a document.

Forslag - men om man kan ?????:
a. Saml alle linktyper op i en container - links[]
b. Isoler alle href, men ikke a - anchors[]
c. If blue - gør ingenting
  If red og aktiv - gør ingenting
  If red, men ikke aktiv - gør grøn

Bare en tanke - Tony
Avatar billede Tony Juniormester
08. august 2001 - 14:41 #9
Åhhh, det er løst - FLOT !

/Tony
Avatar billede Tony Juniormester
08. august 2001 - 14:46 #10
Det ser ud til, at linket får sin blå farve tilbage ved onMouseOver ?

/Tony
Avatar billede thyrring Nybegynder
08. august 2001 - 14:52 #11
Har set det... Arbejder videre med det!
Avatar billede jakoba Nybegynder
08. august 2001 - 18:30 #12
Nu forstår jeg slet ikke noget. ??
    document.links[\'linknavn\']
slulle da pege på præcis samme objekt som
    this
brugt lokalt i et link med en  name=\'linknavn\'  parameter.

men det ser ikke ud til at være tilfældet. Hum...

allenfals, tak fpr points :)

mvh JakobA
Avatar billede thyrring Nybegynder
09. august 2001 - 09:22 #13
Har lige fået noget der virker som det skal!
dog ikke i netscape

script

<SCRIPT LANGUAGE=\"javascript\">
  var aktivt = \"\";
  var aLinks = new Array( document.links.length );

  function leaving( link ) {
    if( link !=aktivt && !( notRegistered( link ) ) )
      link.style.color=\'#00FF00\';
    else if( link == aktivt )
      link.style.color=\'#FF0000\';
    else
      link.style.color=\'#0099ff\';
  }

  function activate( link ) {
    if( link != aktivt && aktivt != \"\" )
      aktivt.style.color=\'#00FF00\';
    link.style.color=\'#FF0000\';
    aktivt = link;
    if( notRegistered( link ) )
      aLinks[ aLinks.length ] = link;
  }

  function notRegistered( link ) {
    for( i = 0; i<aLinks.length; i++ )
      if( aLinks[i] == link )
        return false;
    return true;
  }
</SCRIPT>

linket

<A HREF=\"billede_1.html\" TARGET=\"indhold\"
  onFocus=\"blur()\"
  onMouseOver=\"this.style.color=\'#0000FF\';\"
  onMouseOut=\"leaving(this);\"
  onMouseDown=\"activate(this);\">A</A>
Avatar billede nikolajdu Nybegynder
09. august 2001 - 14:48 #14
Netscape kan godt lide at der står document.links....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester