/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Placering af et span
Fra : Kasper Kamp Simonsen


Dato : 27-02-03 12:49

Hejsa,,,

Jeg har et span som bliver synlig når man holder musen hen over et billede,
det er meget godt, men nu vil jeg gerne placere spannet i forhold til musen.
Så jeg tænke jeg kunne bruger event.clientY og event.clientX. Det virker
sådan set også ok, indtil min side bliver så lang at der komme scrollbar på.

Nogen som har en ide om hvad man så kan gøre?

/Kasper



 
 
Lasse Reichstein Nie~ (27-02-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 27-02-03 14:13

"Kasper Kamp Simonsen" <anyone@anywhere.dk> writes:

> Hejsa,,,
>
> Jeg har et span som bliver synlig når man holder musen hen over et billede,
> det er meget godt, men nu vil jeg gerne placere spannet i forhold til musen.

Du kan roligt lave din span om til en div. Når den bliver placeret absolut så
bliver den til et block-element alligevel.

> Så jeg tænke jeg kunne bruger event.clientY og event.clientX. Det virker
> sådan set også ok, indtil min side bliver så lang at der komme scrollbar på.
>
> Nogen som har en ide om hvad man så kan gøre?

Jeg kender problemet. Da event.clientX regnes i forhold til det synlige
område (viewport), så tager den ikke højde for scrolling. Her kan du
så bruge
event.clientX + document.body.scrollLeft (i IE og Opera6) og
event.pageX (i Opera 7, Gecko og Netscape 4)

Eksempel:
function handler(e) {
var ev = e?e:window.event;
var x = ev.pageX?ev.pageX:(ev.clientX+document.body.scrollLeft);
var y = ev.pageY?ev.pageY:(ev.clientY+document.body.scrollTop);
...
}

Den skulle (7-9-13, module tyrkfejl) virke i både IE6, Opera 6+7,
Mozilla og Netscape 4.

Det næste problem er at placere elementet korrekt i forhold til siden.
Her hjælper det hvis elementet er placeret i forhold til body, så kan
man bruge koordinaterne direkte.

/L
--
Lasse Reichstein Nielsen - lrn@brics.dk
Ph.D. i datalogi søger stilling som software-udvikler i Øst- eller
Nordjylland. Curriculum Vitae: <URL:http://www.brics.dk/~lrn/cv.html>

Kasper Kamp Simonsen (28-02-2003)
Kommentar
Fra : Kasper Kamp Simonsen


Dato : 28-02-03 11:10

> var x = ev.pageX?ev.pageX:(ev.clientX+document.body.scrollLeft);
> var y = ev.pageY?ev.pageY:(ev.clientY+document.body.scrollTop);

Tak det virker :)

/Kasper



Lasse Reichstein Nie~ (28-02-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 28-02-03 12:02

"Kasper Kamp Simonsen" <anyone@anywhere.dk> writes:

> > var x = ev.pageX?ev.pageX:(ev.clientX+document.body.scrollLeft);
> > var y = ev.pageY?ev.pageY:(ev.clientY+document.body.scrollTop);
>
> Tak det virker :)

Jeg kommer lige til at tænke på at det vil være pænere at skrive

(ev.pageX != undefined)?...
i stedet for bar
ev.pageX? ...

Det gør kun en forskel i det tilfælde hvor ev.pageX er defineret men
har værdien nul, men det kan jo ske. Man skal altid huske at lave
sammenligningen med "undefined" eksplicit hvis værdien er en simpel
værdi (fx tal eller streng), da de kan være definerede men have en
værdi der tæller som "false" (nul og den tomme streng henholdsvis).

/L
--
Lasse Reichstein Nielsen - lrn@brics.dk
Ph.D. i datalogi søger stilling som software-udvikler i Øst- eller
Nordjylland. Curriculum Vitae: <URL:http://www.brics.dk/~lrn/cv.html>

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste