Avatar billede Slettet bruger
19. marts 2001 - 22:03 Der er 13 kommentarer og
1 løsning

MouseMove det DUER ikke

Hvorfor duer min superkode ikke?

<script language=\"JavaScript\">

document.captureEvents(event.CLICK)
document.onclick = follow;

function follow()
{
    tbl2.style.background = \"blue\"
}

</script>

Senere i min kode har jeg det her:

<td width=\"100%\" height=\"100%\" id=\"tbl2\">

Den skal så være blå.

Men den vil ikke.
Avatar billede olebole Juniormester
20. marts 2001 - 00:19 #1
<ole>
1. Det kan ikke lade sig gøre i NS4.X!
2. Du refererer øjensynligt til en tabelcelle, der endnu ikke er tegnet, når du definerer, hvad der skal ske på din onclick-event. Det skal først ske på onload. Sådan kunne det gøres:

<html>
<head>
<script language=\"JavaScript\">
var ie4 = (document.all)? true:false;
var ns6 = (document.getElementById)? true:false;
function init() {
    if (ie4) {
        document.all.tbl2.onclick = follow;
    }
    else if (ns6) {
        document.getElementById(\"tbl2\").onclick = follow;
    }
}
function follow() {
    if (ie4) {
        document.all.tbl2.style.backgroundColor = \"blue\";
    }
    else if (ns6) {
        document.getElementById(\"tbl2\").style.backgroundColor = \"blue\";
    }
}
</script>
</head>
<body onload=\"init();\">
<table>
<tr>
    <td width=\"100%\" height=\"100%\" id=\"tbl2\" style=\"cursor:hand;\">yjyjfyf</td>
</tr>
</table>
</body>
</html>

/mvh
</bole>
Avatar billede Slettet bruger
20. marts 2001 - 08:48 #2
Hmm, ja din kode virker da. Men min idé var at uanset hvor i dokumentet man klikker skulle en function fyres af der ændrede CSS\'en på tbl2.

Faktisk var min oprindelige idé at lave en boks man kunne trække rundt på skærmen, men jeg havde lidt bøvl med at få events til at virke på min tabel, så jeg prøvede bare noget simpelt som at ændre farven på den. Jeg er IKKE ude efter et komplet drag\'n\'drop script. Idéen er at jeg selv skal regne fidusen ud. Ellers lærer jeg aldrig det her javascript. Jeg skal bare vide hvordan man laver sådan at uanset hvor man klikker i dokumentet, så sker der noget med min table.

V.H. JRB
Avatar billede Slettet bruger
20. marts 2001 - 08:51 #3
Ang. event der skal ændre CSS...

Min mening var at jeg skulle ændre <table style=\"noget css kode som ændres med JS\" width=\"....height\"... osv>

Bare lige for at få det helt på plads.
Avatar billede olebole Juniormester
20. marts 2001 - 10:07 #4
function init() {
    if (ie4) {
        document.all.tbl2.onclick = follow;
    }
    else if (ns6) {
        document.getElementById(\"tbl2\").onclick = follow;
    }
}

...skrives om til:

function init() {
        document.onclick = follow;
}
Avatar billede olebole Juniormester
20. marts 2001 - 10:11 #5
Og så f.eks:

function follow() {
    if (ie4) {
        document.all.tbl2.style.width = 100;
    }
    else if (ns6) {
        document.getElementById(\"tbl2\").style.width = 100;
    }
}
Avatar billede Slettet bruger
20. marts 2001 - 10:14 #6
Okay. Nu er min kode:

<script language=\"JavaScript\">
var ie4 = (document.all)? true:false;
var ns6 = (document.getElementById)? true:false;

function init() {
    document.onclick = follow;
}
   
}
function follow() {
    if (ie4) {
        document.all.tbl2.style.width = 100;
    }
    else if (ns6) {
        document.getElementById(\"tbl2\").style.width = 100;
    }
}
</script>

Og det her:

<body onload=\"init()\">

Og så den her:

<td width=\"100%\" height=\"100%\" bgcolor=\"red\" id=\"tbl2\">

Men det vil stadig ikke være venner.
Avatar billede Slettet bruger
20. marts 2001 - 10:15 #7
Hovsa...
Avatar billede olebole Juniormester
20. marts 2001 - 10:17 #8
Hvis vi forudsætter den der tabelceller ikke svæver i luften, men er sat ind i en tabel, så virker det :)
/mvh
Avatar billede Slettet bruger
20. marts 2001 - 10:20 #9
Ja, selvfølgelig er den det :-)

Men jeg har vidst lige opdaget at jeg har lavet en gang gennemgribende fuckup i min kode der forhindrer noget som helst i at virke.

Efterforsker lige sagen.

Men altså, jeg skal lige have en ting på plads.

Når man skal rode med style=\"sager\" så skriver man i sit script noget.ting.blabla.style.(css-tag her) = \'værdi\' ?
Avatar billede Slettet bruger
20. marts 2001 - 10:23 #10
Det er da iøvrigt super-irriterende at man skal skrive forskellig kode til henholdsvis IE og Net(møg)scape.

Hvem af dem er det der ikke holder standarden?
Avatar billede olebole Juniormester
20. marts 2001 - 10:28 #11
Det er NS6 og IE5. De tager begge \'document.getElementById\' - som er international standard. IE før 5 tager \'document.all\' og NS4.X tager \'document.layers\', men kan ikke de her ting med tabeller.
Avatar billede olebole Juniormester
20. marts 2001 - 10:30 #12
....og prøv så iøvrigt at skrive til IE4.5 på Mac...!!! IE er siden version 4 kommet med 4-5 forskellige Document Object Models - så tal om en skodbrowser...!!! :D
Avatar billede Slettet bruger
20. marts 2001 - 10:33 #13
Aha okay. Jamen så vil jeg da holde mig til standarden. At folk ikke gider opgradere deres browsere bør kun svie til dem selv, og ikke webdesignere.

http://www.webstandards.org/upgrade/
Avatar billede Slettet bruger
20. marts 2001 - 11:06 #14
Forresten...

Hvordan får jeg den til at reagere på mousemove?

Min kode er:

<script language=\"JavaScript\">

function init() {
    document.getElementById(\"tbl2\").onmousemove = follow;
}

}
function follow() {
    document.getElementById(\"tbl2\").style.backgroundColor = \"blue\";
    }

</script>

Men den reagerer stadigvæk kun på klik.
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