Avatar billede rastaman Nybegynder
10. december 2001 - 17:42 Der er 5 kommentarer og
1 løsning

Rammer

Jeg har følgende javascript som jeg bruger til min menu i én ramme, dernæst har jeg et link i en anden ramme. Kan man få function klik (altså nulstille\") et menupunkt i en ramme fra et link i en anden ramme ???

Rastaman

<script type =text/javascript>

var aktiv;
var aktivImg;
var diver = 20;

function klik(denne, img){
  if ( aktiv && denne!=aktiv ) {
    var tmp = aktiv;
    aktiv = \"\";

    musUd( tmp, aktivImg );
  }
  denne.style.backgroundColor=\'CCCCFF\';
  denne.style.color=\'#800000\';
  aktiv = denne;
  aktivImg = img;
}

function musInd(denne, img){
  if (denne==aktiv)return;
  document.images[img].src=\"pictures/on.gif\";
  denne.style.color=\'#004784\';
  denne.style.backgroundColor=\'#CCCCFF\';
  denne.style.border = \'#004784 solid 1px\';
  denne.style.cursor = \'hand\';
}

function musUd(denne, img){
  if (denne==aktiv)return;
  document.images[img].src=\"pictures/firkant.gif\";
  denne.style.color=\'#929387\';
  denne.style.backgroundColor=\'#E8EBEC\';
  denne.style.border = \'#E8EBEC solid 1px\';
  denne.style.cursor = \'hand\';
}

</script>


<td id=div2 BGCOLOR=\"#E8EBEC\" STYLE=\"border:solid 1px;border-color:#E8EBEC;\" onmouseout=\"musUd(this,\'img2\');\" onmouseover=\"musInd(this,\'img2\');\" onclick=\"parent.main.location.href=\'menupunkt1.html\';klik(this,\'img2\');\"  class=\"nav\"><IMG SRC=\"pictures/firkant.gif\" BORDER=\"0\" WIDTH=\"13\" HEIGHT=\"12\" ALIGN=\"left\" ALT=\"\" NAME=\"img2\">
      <p align=\"left\"><FONT FACE=\"Verdana\" SIZE=\"1\">Menupunkt1</font></td>
Avatar billede hono Nybegynder
10. december 2001 - 17:45 #1
Jeps, du tilføjer top, før document:

top.document.images[img].src=\"pictures/on.gif\";

... eller hvad det nu var du tænkte på

Hono
Avatar billede jakoba Nybegynder
10. december 2001 - 17:47 #2
du lægger scriptet i den ramme hvor menuen er. (hvor du plejer)

fram den anden ramme kan du så kalde:
    parent.forsterammenavn.klik( parent.forsterammenavn.document.all[\'divnavn\'], \'billednavn\' );

jeg ville nok lave en version af klik der selv fandt den div udfra navnet, for det er forskelligt for de forskellige browsere.

mvh JakobA
Avatar billede rastaman Nybegynder
10. december 2001 - 18:31 #3
Som jeg forsår det skal funktionen i ramme 2 lave en\"klik.this\" som fungerer i ramme 1.

Scriptet fungerer også perfekt i ramme 1 som enkeltstående menu, jeg ved bare ikke hvordan jeg får et link i ramme2 til at \"ændre\" noget i ramme 1, kan i specificere lidt mere så jeg forstår det ?
Avatar billede jakoba Nybegynder
10. december 2001 - 19:25 #4
Hvis en af nedenstående sætninger ikke passer så sig det.
1) i ramme 1 ligger din menu og dit script.
2) det hele virker lokalt i ramme et.
3) du ønsker at lave et link i ramme2 der kan åbne en af dine menuer.
4) du ønsker at lave et link i ramme2 der kan lukke en af dine menuer.
Avatar billede rastaman Nybegynder
10. december 2001 - 19:47 #5
Ikke helt

Ja til 1 og 2

Men sådan som det fungerer nu så beholder menupunktet i ramme 1, onmouseover specifikationerne i scriptet indtil man klikker på et andet menupunkt i ramme1. Jeg vil gerne have at samme funktion som gør at onmouseover-specifikationer \"forsvinder\" ved klik på et nyt link, også virker når det nye punkt er i en anden ramme

Jeg ved ikke om det gav lidt mere overblik
Avatar billede jakoba Nybegynder
10. december 2001 - 20:04 #6
Ok. så indsæt denne nye funktion i scriptet i ramme1.

function klikOff(){
  if ( aktiv ) {
    var tmp = aktiv;
    aktiv = \"\";
    musUd( tmp, aktivImg );
  }
  aktivImg = \"\";
}

de links i ramme2 der skal slå menuen fra kan så være:

<a href=\"sidederlinkestil.html\" onclick=\"parent.ramme1.klikOff();return true\">

mvh JakobA
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