Mouse X en Y

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

- Raoul -

- Raoul -

26/07/2010 10:47:34
Quote Anchor link
Hallo,
heb dit gemaakt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<script type="text/javascript">

function displaycoordNS(){
document.getElementById('divCoord').innerHTML = e.clientX " : " e.clientY;
}
</script></head>
<body onmousemove="displaycoordNS()">
<div id="divCoord"></div>
</body></html>


Maar werkt het werkt niet, weet iemand waarom ?!
 
PHP hulp

PHP hulp

29/03/2024 14:24:43
 
Joakim Broden

Joakim Broden

26/07/2010 11:00:19
Quote Anchor link
e.clientX " : " e.clientY;

Waar staat die e voor? probeer eens document.clientX " : " document.clientY;

Ps wat voor error krijg je? (kun je bekijken in de Firebug Addon in Firefox of fout console van Firefox (ctrl+schift+j))
 
- Raoul -

- Raoul -

26/07/2010 11:05:30
Quote Anchor link
oetzie: Heb het veranderd naar dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<script type="text/javascript">

function displaycoordNS(){
document.getElementById('divCoord').innerHTML = document.clientX+":"+document.clientY;
}
</script></head>
<body onmousemove="displaycoordNS()">
<div id="divCoord"></div>
</body></html>


Maar als ik mijn muis beweeg, staat er undifined:undifined
FireBug zegt trouwens niets.
Gewijzigd op 26/07/2010 11:08:45 door - Raoul -
 

26/07/2010 11:12:38
Quote Anchor link
Bij het eerste script moet je natuurlijk wel this als parameter meegeven, en die in de functie gedefinieerd hebben als e.
http://www.quirksmode.org/js/events_properties.html#position
Zie geheel quirksmode voor hoe om te gaan met events en muis.
 
- Raoul -

- Raoul -

26/07/2010 11:16:34
Quote Anchor link
Karl, heb in die handleiding dit gevonden
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function doSomething(e) {
    var posx = 0;
    var posy = 0;
    if (!e) var e = window.event;
    if (e.pageX || e.pageY)     {
        posx = e.pageX;
        posy = e.pageY;
    }
    else if (e.clientX || e.clientY)     {
        posx = e.clientX + document.body.scrollLeft
            + document.documentElement.scrollLeft;
        posy = e.clientY + document.body.scrollTop
            + document.documentElement.scrollTop;
    }
    // posx and posy contain the mouse position relative to the document
    // Do something with this information
}

Maar als ik de functie wil aanroepen, wat moet ik dan doen met die 'e' ?
 
Mark L

Mark L

26/07/2010 11:30:11
Quote Anchor link
Niets. Die vult hij zelf in.

Let op: In IE moet je event gebruiken i.p.v. e. Dus het is handig om dit erbij te zetten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
if (e === undefined) {
    e = event;
}
Gewijzigd op 26/07/2010 11:31:21 door Mark L
 
- Raoul -

- Raoul -

26/07/2010 11:33:35
Quote Anchor link
Mark ik heb dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<script type="text/javascript">

function doSomething(e) {
    var posx = 0;
    var posy = 0;
    if (e === undefined) {
    e = event;
}
    if (!e) var e = window.event;
    if (e.pageX || e.pageY)     {
        posx = e.pageX;
        posy = e.pageY;
        document.getElementById('divCoord').innerHTML = 'Y= '+posy+' X= '+posx+'.';
    }
    else if (e.clientX || e.clientY)     {
        posx = e.clientX + document.body.scrollLeft
            + document.documentElement.scrollLeft;
        posy = e.clientY + document.body.scrollTop
            + document.documentElement.scrollTop;
            document.getElementById('divCoord').innerHTML = 'Y= '+posy+' X= '+posx+'.';
    }
    // posx and posy contain the mouse position relative to the document
    // Do something with this information
}
</script></head>
<body onmousemove="doSomething();">
<div id="divCoord"></div>
</body></html>


En Firebug zegt: event is not defined
 
P Lekensteyn

P Lekensteyn

26/07/2010 11:40:35
Quote Anchor link
e is sowieso undefined, want je roept de functie aan zonder argumenten.
Gebruik eens addEventListener/attachEvent op gewoon direct window.onmousemove=doSomething;

Je hebt al een if(!e)... dus je kunt if(e===undefined){e=event} wel weghalen.
 
- Raoul -

- Raoul -

26/07/2010 11:43:17
Quote Anchor link
Werkt weeral niet, nu krijg ik in Firebug e is undefined

Terwijl alles nu klopt :s

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<script type="text/javascript">

function doSomething(e) {
    var posx = 0;
    var posy = 0;

    if (!e) var e = window.event;
    if (e.pageX || e.pageY)     {
        posx = e.pageX;
        posy = e.pageY;
        document.getElementById('divCoord').innerHTML = 'Y= '+posy+' X= '+posx+'.';
    }
    else if (e.clientX || e.clientY)     {
        posx = e.clientX + document.body.scrollLeft
            + document.documentElement.scrollLeft;
        posy = e.clientY + document.body.scrollTop
            + document.documentElement.scrollTop;
            document.getElementById('divCoord').innerHTML = 'Y= '+posy+' X= '+posx+'.';
    }
    // posx and posy contain the mouse position relative to the document
    // Do something with this information
}
window.onmousemove=doSomething;
</script></head>
<body>
<div id="divCoord"></div>
</body></html>
 

26/07/2010 12:33:51
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.