Avatar billede clinton-2 Nybegynder
22. august 2006 - 08:58 Der er 7 kommentarer og
1 løsning

Script virker i firefox men ikke IE

Har spurgt om det i spg http://www.eksperten.dk/spm/726047, men efter én uge uden svar prøver jeg at oprette et nyt, håber det er ok.

Har et billede når man fører musen over det skal der vises et andet billede der fjernes igen når man fjerner musen.

<script type="text/javascript">
function showBox(e,url) {
    var imgs = document.getElementsByTagName("img");
    for(var i=0; i<imgs.length; i++){
        if(imgs[i].getAttribute("src")==url){
            var img = imgs[i].style;
            img.left = ((e.clientX) ? e.clientX : e.pageX)+15+"px";
            img.top = ((e.clientY) ? e.clientY : e.pageY)-15+"px";
            img.display = "block";
        }
    }
}
function hideBox(url) {
    var imgs = document.getElementsByTagName("img");
    for(var i=0; i<imgs.length; i++){
        if(imgs[i].getAttribute("src")==url){
            imgs[i].style.display = "none";
            break;
        }
    }
}
</script>

og koden hvor funktionerne kaldes

<img style='position:absolute;left:0px;top:0px;display:none' src='$picadr2' />
<img src=\"foto.gif\" onmouseover=\"showBox(event,'$picadr2')\" onmousemove=\"showBox(event,'$picadr2')\" onmouseout=\"hideBox('$picadr2')\" />


$picadr2 indeholder navnet på det billede der skal vises.

Siden kan ses på http://jyskserviceudlejning.dk/test.php
Avatar billede fennec Nybegynder
22. august 2006 - 09:21 #1
Fang dem på et ID i stedet:
<img id="pic1" style='position:absolute;left:0px;top:0px;display:none' src='Overkop.jpg' /><img src="foto.gif" onmouseover="showBox(event,'pic1')" onmousemove="showBox(event,'pic1')" onmouseout="hideBox('pic1')" />
<img id="pic2" style='position:absolute;left:0px;top:0px;display:none' src='UnderKop.jpg' /><img src="foto.gif" onmouseover="showBox(event,'pic2')" onmousemove="showBox(event,'pic2')" onmouseout="hideBox('pic2')" />

function showBox(e,thisID) {
  var img = document.getElementById(thisID).style;
  img.left = ((e.clientX) ? e.clientX : e.pageX)+15+"px";
  img.top = ((e.clientY) ? e.clientY : e.pageY)-15+"px";
  img.display = "block";
}
Avatar billede clinton-2 Nybegynder
22. august 2006 - 09:53 #2
Så er det rette men uden held:(

Må id'et gerne hedde overkop.jpg?

Og er det samme hideBox funktion der skal bruges?
Avatar billede erikjacobsen Ekspert
22. august 2006 - 10:02 #3
Du skal i hvert fald ændre
    id=UnderKop.jpg'
til
    id='UnderKop.jpg'
Avatar billede fennec Nybegynder
22. august 2006 - 10:09 #4
hideBox skal også ændres:

function hideBox(thisID) {
  var img = document.getElementById(thisID).style;
  img.style.display = "none";
}
Avatar billede fennec Nybegynder
22. august 2006 - 10:10 #5
Forkert :o)
function hideBox(thisID) {
  var img = document.getElementById(thisID);
  img.style.display = "none";
}
Avatar billede fennec Nybegynder
22. august 2006 - 10:11 #6
Det burde være lige meget hvad du giver som ID, bare det er unikt. Der kan altså ikke være to billeder med samme ID (eller noget andet element med ID'erne).
Avatar billede clinton-2 Nybegynder
22. august 2006 - 10:21 #7
Takker, det virker. Smid lige et svar.
Avatar billede fennec Nybegynder
22. august 2006 - 10:26 #8
.o) <-- One Eyed Jack
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