Avatar billede brock Nybegynder
15. juni 2000 - 10:30 Der er 17 kommentarer og
1 løsning

Onclik - stay

Jeg leder efter en løsning på, hvordan man kan gøre, at når man klikker på en knap FORBLIVER den valgt, indtil man klikker på en anden - samtidig med at rollover funktionen kører - Jeg har været rundt og læse på siden og forsøgt mig med det her script, men det lader til at markeringen af den knap, som er blevet clicket ikke virker:

<script language="JavaScript">
<!--
var active = "";
img = new Image;

function changeImg(imgName, target) {
  if (document.images) {
    if (active != target || imgName.indexOf("on.") != -1) {
      img.src = imgName;
      document[target].src = img.src;
    }
  }
}
function setActive(imgName, target) {
  active = target;
  changeImg(imgName, target);
}

//-->
</script>
</head>
<body>
<p><a href="#" onClick="changeImg('Knap_Bruunske_Pakhus_H.gif', 'pic1')" onMouseOver="changeImg('Knap_Bruunske_Pakhus_H.gif', 'pic1')" onMouseOut="changeImg('Knap_Bruunske_Pakhus.gif', 'pic1')"><img src="Knap_Bruunske_Pakhus.gif" name="pic1"></a>
  <a href="#" onClick="changeImg('Knap_Nyheder_h.gif', 'pic2')" onMouseOver="changeImg('Knap_Nyheder_h.gif', 'pic2')" onMouseOut="changeImg('Knap_Nyheder.gif', 'pic2')"><img src="Knap_Nyheder.gif" name="pic2"></a>
</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</body>
</html>
Avatar billede brock Nybegynder
15. juni 2000 - 10:38 #1
ehhh -

jeg mente selvfølgelig

<a href="#" onClick="setActive('Knap_Bruunske_Pakhus_H.gif', 'pic1')" onMouseOver="changeImg('Knap_Bruunske_Pakhus_H.gif', 'pic1')" onMouseOut="changeImg('Knap_Bruunske_Pakhus.gif', 'pic1')"><img src="Knap_Bruunske_Pakhus.gif" name="pic1"></a>
  <a href="#" onClick="setActive('Knap_Nyheder_h.gif', 'pic2')" onMouseOver="changeImg('Knap_Nyheder_h.gif', 'pic2')" onMouseOut="changeImg('Knap_Nyheder.gif', 'pic2')"><img src="Knap_Nyheder.gif" name="pic2"></a>

- men det løser netop ikke problemet, da den valgte nedtrykkede knap forbliver markeret indtil musen har rollet over :(
Avatar billede cms Nybegynder
15. juni 2000 - 14:27 #2
ka vi få en url?
Avatar billede brock Nybegynder
15. juni 2000 - 14:41 #3
jep - her lige uploaded

www.newbornmedia.dk
Avatar billede cms Nybegynder
15. juni 2000 - 14:48 #4
okay.

når du trykker på den ene, skal den anden vise "utrykket" tilstand?

prøv:

function setActive(imgName, target) {
  active = target;
  changeImg(imgName, target);
  changeImg(imgName, 'pic1');
  changeImg(imgName, 'pic2');
}

du skal selvfølgelig oprette et array over target-navnene, så du ikke selv manuelt skal skrive pic1, pic2 osv.

Avatar billede brock Nybegynder
15. juni 2000 - 15:01 #5
Det tror jeg ikke helt jeg forstår -
du skal selvfølgelig oprette et array over target-navnene, så du ikke selv manuelt skal skrive pic1, pic2 osv.

:(
Avatar billede brock Nybegynder
15. juni 2000 - 15:03 #6
:) oups nu ser jeg lyset Heureka - vender tilbage
Avatar billede brock Nybegynder
15. juni 2000 - 15:14 #7
Der sker der, at der er kommet en blå kant omkring mine img - hvorfor?
Avatar billede brock Nybegynder
15. juni 2000 - 15:18 #8
Hold kæft hvor er jeg træt i bøtten (ich bin ein idiot)

nå - så dumt et spørgsmål at jeg ikke engang selv vil nedlade mig til at svare på det - Tak for hjælpen det der med changeImg var bare det som skulle til

venlig hilsen

Brock
Avatar billede brock Nybegynder
15. juni 2000 - 15:18 #9
ehh du CMS - vil du ikke have nogle point ??? ;)
Avatar billede cms Nybegynder
15. juni 2000 - 15:46 #10
åh, så la gå da!
Avatar billede brock Nybegynder
15. juni 2000 - 15:56 #11
jeg er faktisk villig til at sætte flere point på højkant, hvis der kan laves et script, hvor man kun et sted skal skrive on/off navne (forskellige navne) på pic1-x og så kører scriptet ellers bare derudaf :)
Avatar billede cms Nybegynder
15. juni 2000 - 16:20 #12
<script language="JavaScript">
<!--
var active = 0;
img = new Image;
var antal = 0;
var srcs = new Array();
di=false;
if (document.images) di=true;

function changeImg(nr, isover) {
  if (di) {
    imgName=srcs[nr];
    if ((isover == 1) || (active==nr)) {
      img.src = imgName+'_h.gif';
    } else {
      img.src = imgName+'.gif';
    }
    document['pic'+nr].src = img.src;
  }
}
function jc(nr) {  //click
  active = nr;
  for (var i=1; i<=antal; i++) {
  changeImg(i, 0);
  }
  changeImg(nr, 1);
}
function ji(nr) {  //mouse in
changeImg(nr, 1);
}
function jo(nr) {  //mouse out
changeImg(nr, 0);
}
function addknap(src) {
antal++;
srcs[antal]=src;
document.writeln('<a onfocus="blur();" href="#" onClick="jc('+antal+');" onMouseOver="ji('+antal+');" onMouseOut="jo('+antal+');"><img border=0 src="'+src+'.gif" name="pic'+antal+'"></a> ');
}
//-->
</script>
</head>
<body>
<script language="JavaScript">
<!--
addknap('Knap_Bruunske_Pakhus');
addknap('Knap_Nyheder');
//-->
</script>
<p>&nbsp;</p>
<p>&nbsp;</p>
</body>
</html>
Avatar billede cms Nybegynder
15. juni 2000 - 16:23 #13
så skal du bare ændre i addknap-funktionerne!!!

ps: den tager ikke højde for, at du det ene sted skriver '_H' og det andet sted '_h'!! (i billednavnene)
Derfor har jeg som standard valgt '_h', så må du omdøbe dine gif-filer !!
Avatar billede brock Nybegynder
15. juni 2000 - 17:29 #14
okay - ser spændende ud, hvordan sætter jeg så billederne ind i f.eks. tabeller
Avatar billede brock Nybegynder
15. juni 2000 - 17:33 #15
jep, det virker - hvor mange point må jeg byde den herre ?
Avatar billede cms Nybegynder
15. juni 2000 - 19:16 #16
he he... hvor meget vil du give ?
Avatar billede cms Nybegynder
15. juni 2000 - 19:17 #17
hvadøh, skal du have hjælp til tabellerne, eller virker de?
Avatar billede brock Nybegynder
16. juni 2000 - 09:05 #18
tabellerne virker fint - er 60 point ok
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