Avatar billede lraj Nybegynder
24. januar 2010 - 13:45 Der er 2 kommentarer og
1 løsning

Mouseover tekst - Firefox

Hej kære Eksperter.
Nu har jeg et problem igen, men denne gang er det lidt anderledes.

Jeg har noget specielt mouseover, så når man fx. kører mouseover, over et billede - ja så kommer der noget tekst op. Lidt ligesom title="" eller alt="" bare hvor det hurtigere kommer op mm.
Mit problem ligger dog i, at går man i firefox så virker det overhovedet IKKE. Det virker i chrome og i IE 6,7,8 men ikke i firefox. Min script kode er her:

<script language="JavaScript">
    x = + 13;
    y = + 5;

    paa = false;
    function vis(txt) {
        document.getElementById("tiptxt").innerHTML = txt;
        document.getElementById("tip").style.left = event.clientX + x;
        document.getElementById("tip").style.top = event.clientY + y;
        document.getElementById("tip").style.visibility = "visible";
        paa = true;
    }

    function skjul() {
        document.getElementById("tip").style.visibility = "hidden";
        paa = false;
    }

    function mov() {
        if (paa) {
            document.getElementById("tip").style.left = event.clientX + x;
            document.getElementById("tip").style.top = event.clientY + y;
        }
    }
    </script>






og scriptet fremkaldes ved eksempelvis:
<img src="hej.gif" onMouseOver="vis('&nbsp;Hej&nbsp;');"      onMouseOut="skjul();">

Er det muligt at i kan hjælpe mig med på et eller anden måde, at få det til at virke i firefox?
Avatar billede intenz Novice
24. januar 2010 - 15:04 #1
event er ikke en global variablen i firefox, så her skal du sende den med i funktionen, og så i din funktion tjekke om den er global eller ej.

Jeg vil gætte på, at dette vil virke:
Send event med i onmouseover:
<img src="hej.gif" onMouseOver="vis('&nbsp;Hej&nbsp;', event);"      onMouseOut="skjul();">

Sæt den i funktionen og tjek hvorvidt den skal bruges:
function vis(txt, e) {
        var myEvent = (window.Event) ? e : event;
        document.getElementById("tiptxt").innerHTML = txt;
        document.getElementById("tip").style.left = myEvent.clientX + x;
        document.getElementById("tip").style.top = myEvent.clientY + y;
        document.getElementById("tip").style.visibility = "visible";
        paa = true;
    }


Du skal gøre noget tilsvarende i din mov() funktion, men jeg kan ikke hvordan du kalder den.
Avatar billede lraj Nybegynder
24. januar 2010 - 15:47 #2
Det virker, du har lige reddet dagen. Tak! læg et svar.
Avatar billede intenz Novice
24. januar 2010 - 18:11 #3
Perfekt :)
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