Avatar billede vat69 Nybegynder
14. november 2005 - 16:41 Der er 4 kommentarer og
1 løsning

skift billede ved onclik

Hej jeg her en menu der er opbygget af billeder, jeg
har et javascript der bytter om på et billederne i menuen når man trykker på et af dem, sådan så det billede man har trykket på er aktivt. Dette virker. Jeg kunne dog godt tænke mig at der også kommer rollover og out på min menu.

Problemet er at når man så trykker på et billede i menuen for at gøre det aktivt så ændres billedet igen da jeg jo også har roll out på billedet. Mit spg er derfor om man kan have onclik mousover og mouse out samtidig når der skal byttes om på billeder eller om der er en smart anden metode der oftes bruges??

MVH
Vat69
Avatar billede skovenborg Nybegynder
14. november 2005 - 17:28 #1
du kan prøve:
<script type="text/javascript">
  var preloadArr = ["bld_over.png","bld_out.png","bld_click.png"];
  var tempArr = new Array();
  for (var i = 0;i<preloadArr.length;i++) {
      tempArr[i] = new Image();
      tempArr[i].src = preloadArr[i];
  }
 
  var activeImg,defaultSrc;
  function changeImage(img,src,force) {
        force = (typeof force == "undefined") ? false : force;
        if (!(img == activeImg) || force) {
            img.src = src;
        }
  }
 
  function changeActiveImage(img,src1,dSrc) {
        if (activeImg) {activeImg.src = defaultSrc;}
        if (img == activeImg) {
            activeImg = null;
            changeImage(img,defaultSrc);
        }
        else {
            activeImg = img;
            defaultSrc = dSrc;
            changeImage(img,src1,true);
        }
  }
</script>

<img src="bld.png" onmouseover="changeImage(this,'bld_over.png');" onmouseout="changeImage(this,'bld_out.png');" onclick="changeActiveImage(this,'bld_click.gif','bld.png');">
<img src="bld.png" onmouseover="changeImage(this,'bld_over.png');" onmouseout="changeImage(this,'bld_out.png');" onclick="changeActiveImage(this,'bld_click.gif','bld.png');">
<img src="bld.png" onmouseover="changeImage(this,'bld_over.png');" onmouseout="changeImage(this,'bld_out.png');" onclick="changeActiveImage(this,'bld_click.gif','bld.png');">

Du kan også vælge at have vidt forskellige billeder - bare husk at preload de billeder, som skal vises ved onmouseover/out og onclick oppe i preloadArr-arrayet (ligesom de andre)
Avatar billede vat69 Nybegynder
21. november 2005 - 10:45 #2
Hej skovenborg og tak for svaret, jeg mente man fik en lille mail når der var en der svarede på ens spg, men jeg har ikke fået noget så derfor er jeg først inde og kigge nu sorry, jeg prøver lige det du forslår her i dag. takker :)
Avatar billede vat69 Nybegynder
20. december 2005 - 19:11 #3
Jeg har endnu ikke fået kigget på det her, jeg må lige få mig strammet an her i julen og tjekket det så du kan få dinne point SORRY (og god jul)
Avatar billede skovenborg Nybegynder
21. december 2005 - 18:46 #4
i lige måde da (jeg svarer lige for en god ordens skyld)
Avatar billede vat69 Nybegynder
10. februar 2006 - 11:31 #5
Hej det er for dårligt men jeg har ikke kigget på det endnu. du får nu de point jeg lage ud og jeg lukker spørgsmålet og prøver senere dit forslag :)
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