JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| function getPosition(e) { //Determine the position of the cursor var e=e||window.event; var cursor={x:0, y:0}; if (e.pageX||e.pageY) { cursor.x=e.pageX; cursor.y=e.pageY; } else { var de=document.documentElement; var b=document.body; cursor.x=e.clientX + (de.scrollLeft||b.scrollLeft)-(de.clientLeft||0); cursor.y=e.clientY + (de.scrollTop||b.scrollTop)-(de.clientTop||0); } X['cursor']=cursor.x; Y['cursor']=cursor.y; setTimeout(getPosition(e),1000); } |
Bij die setTimeout geeft de JS console in FF de melding dat er teveel recursie is. De bedoeling is dat de functie de hele tijd door checkt waar de cursor is. Ik snap alleen niet waarom ik dan een foutmelding krijg als hij om de seconde zichzelf weer aanroept, zo belastind is het toch niet? Ik bedenk me nu ook dat ik de functie 'op standby kan zetten' als de pagina geen focus heeft, of weet één van jullie misschien of de cursor sowieso niet gecheckt kan worden als de pagina geen focus heeft?
//edit: Hij roept de functie wel elke keer netjes weer aan, maar elke keer als hij setTimeout uitvoert, dan krijg ik de melding van die recursie.
[ Voor 9% gewijzigd door Mei op 20-07-2006 23:12 ]