Avatar billede kak Nybegynder
04. april 2001 - 16:14 Der er 9 kommentarer og
1 løsning

onmousedown vs. onmouseout

Jeg har lavet et javascript med onmouseover og onmouseout, så knapperne i min menu skifter, når musen er over dem.

Det vil jeg gerne bibeholde, men jeg vil også gerne have, at knappen skal forblive som den er ved onmouseover, når man klikker på den, så man kan se hvilken side man er på lige nu.

Nogen gode forslag?
Avatar billede brianmp Nybegynder
04. april 2001 - 16:20 #1
Jeg har et script på min egen pc, men jeg kan ikke huske det ud af hovedet.
Du kan få det engang i aften. Efter kl. 10.

B_M_P
Avatar billede trolle Nybegynder
04. april 2001 - 16:21 #2
Kan du ikke saette foelgende ind sammen med det java du har i forvejen?
Saa skal du

function velkommen() {
    last = \"ingen\";
    }

function skift(navn) {
    if (last != \"ingen\") {
      document [last].src = \"red.gif\";
      document [navn].src = \"green.gif\"; 
    last = navn; 
    }
}

green.gif skal vaere dit vaere dit onmouseover billede...
Avatar billede trolle Nybegynder
04. april 2001 - 16:23 #3
Et link og et billede ville saa hoere sammen:

<A HREF=\"projekt.htm\" TARGET=\"bottom\" OnClick=\"skift(\'projekt\')\">Projekter</A>
<IMG SRC=\"red.gif\" NAME=\"projekt\">

Mens velkommen() saa skal koeres ved:
<BODY onLoad=\"velkommen()\">
Avatar billede jakoba Nybegynder
04. april 2001 - 20:32 #4
Det er sværet at komme med relevante forslag uden at vide hvordan du laver dine mouseoverskift.
Der er ret mange måder at gøre det på, og den udvidelse der er fin til den ene er fjollet til den anden.

mvh JakobA
Avatar billede kak Nybegynder
05. april 2001 - 15:54 #5
Koden ser således ud....

<script language=\"javascript\">
<!--
if (document.images) {
i1=new Image()
i1m=new Image()
i1.src=\"images/button.jpg\"
i1m.src=\"images/button_mouse.jpg\"
}else{
i1=\"\"
i1m=\"\"
document.i1i=\"\"
}
//-->
</script>
.
.
.
<a href=\"index.asp\" onmouseover=\"document.i1i.src=i1m.src\" onmouseout=\"document.i1i.src=i1.src\">
<img src=\"images/button.jpg\" name=\"i1i\"></a>
Avatar billede jakoba Nybegynder
05. april 2001 - 21:32 #6
<script language=\"javascript\"> <!--

if (document.images) {
  i1=new Image()
  i1m=new Image()
  i1.src=\"images/button.jpg\"
  i1m.src=\"images/button_mouse.jpg\"
}else{
  i1=\"\"
  i1m=\"\"
  document.i1i=\"\"
}

var huskKlik = \"\";

function klik( imgId ) {
  if ( huskKlik == imgId ) return; // var klikket allerede.
  if ( huskKlik != \"\" ) {          // frigiv forrige klikkede
    switch ( huskKlik ) {
      case \'i1i\': document.i1i.src=\'i1.src\';
                  break;
      case \'i2i\': document.i2i.src=\'i2.src\';
                  break;
      default: alert(\"fra klik(). Du har glemt en case for \"+huskKlik );
    }
  };
  huskKlik = imgId;
]; //end klik( string )

function uklikket ( imgId ) {
  return ( huskKlik != imgId );
}; //end uklikket ( string ) -> boolean;

//-->

</script>
.
.
.
<a href=\"index.asp\" onmouseover=\"document.i1i.src=\'i1m.src\';\"
  onmouseout=\"if ( uklikket(\'i1i\') ) document.i1i.src=\'i1.src\';\"
  onclick=\"klik(\'i1i\');\">
<img src=\"images/button.jpg\" name=\"i1i\"></a> </images/transparent.gif> </images/transparent.gif>
</images/transparent.gif>

Hvis der er mange billeder at klikke på kan vi mindske skrivearbejdet med nogen flere funktioner.

mvh JakobA
Avatar billede kak Nybegynder
05. april 2001 - 23:08 #7
JakobA din kode virker stort set (dog er der lige en enkelt ] som skal rettes til } i tilfælde af, andre vil bruge koden).

Men når man klikker på en ny knap, fjerner den helt den knap der tidligere har været klikket på?! Jeg har selvfølgelig rettet koden til, så den passer med antallet af knapper.
Avatar billede jakoba Nybegynder
06. april 2001 - 01:00 #8
det skulle den ikke. den skulle blot gøre præcid det samme som ommouseout gjorde over den knap før.
Avatar billede kak Nybegynder
06. april 2001 - 16:25 #9
Jeg har fundet fejlen.... Hvis jeg i stedet for:
case \'i1i\': document.i1i.src=\'i1.src\';
skriver:
case \'i1i\': document.i1i.src=i1.src;
så virker det.
Avatar billede jakoba Nybegynder
06. april 2001 - 16:55 #10
Søreme ja. Og nu du peger på det er det jo indlysende.
i1 er det image objekt du startede med at lave til at preloade i.
Men hvordan bar det sig så ad med at virke som mouseover ?

anyways, tak for points.

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