Avatar billede jevbabz Nybegynder
01. november 2005 - 21:16 Der er 5 kommentarer

Pålidelig til andre browsere?

Hej

Jeg bruger en funktion til at få en lille infoboks frem når man flytter musen over et billede, alle siger at det ikke virker i andre browsere end IE, er det noget man kan lave om på?

Her er scriptet:
<script type="text/JavaScript">
                      function dus()
                      {
                      window.status = "About NS - Avisen omkring Netstationen";
                      setTimeout( "dus()", "1" );
                      }
                      dus();
                      </script>
        <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>

- Jever
Avatar billede skovenborg Nybegynder
01. november 2005 - 22:04 #1
hvordan kalder du mov()? Det er i hvert fald der bumsen trykker (sikke et dumt udtrykt btw). Grunden til det ikke virker i andre browsere end IE (der er sikkert også andre, men lad det ligge) er måden IE håndterer events på. I Mozilla fx duer det ikke at skrive event inde i en funktion - event-objektet skal sendes via et argument, fx:
function mov(e) {
    event = (e) ? e : event;
    if (paa) {
            document.getElementById("tip").style.left = event.clientX + x;
            document.getElementById("tip").style.top = event.clientY + y;
        }
}

Du sender så event-objektet med når du kalder funktionen:
<div onmouseover="mov(event);"> (ændres selvfølgelig efter hvordan du kalder funktionen.
Avatar billede skovenborg Nybegynder
01. november 2005 - 22:26 #2
hmm, det er vist bedre at skrive:
function mov(e) {
    e = (e) ? e : event;
    if (paa) {
            document.getElementById("tip").style.left = e.clientX + x;
            document.getElementById("tip").style.top = e.clientY + y;
        }
}

IE brokkede sig i hvert fald hos mig - men det var så også et andet script
Avatar billede roenving Novice
01. november 2005 - 23:32 #3
Måske er det mere fremgangsrigt at besøge http://www.bosrup.com/web/overlib/ og teste overLIB ?-)
Avatar billede jevbabz Nybegynder
04. november 2005 - 19:51 #4
Andre der kan give mig hjælp?
Avatar billede roenving Novice
06. november 2005 - 04:40 #5
?-)
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