Muspekarens position

JavaScript

6 svar · 407 visningar · startad av henrik@vh.se

Medlem sedan sep. 200313 inlägg
Trådstart#1

Jag har nedanstående javascript som funkar perfekt i Mac, men i Windows fungerar det bara sålänge jag inte rör scrollen.
Rullar jag ned en bit på sidan, visas lagret på samma position som tidigare, alltså... lagret följer med sidan när jag scrollar.

Nån som har något tips?

		var hori = (e.clientX + 20);
		var vert = (e.clientY - 6);
		document.getElementById(lager).style.visibility = "visible"; 
		document.getElementById(lager).style.left = hori;
		document.getElementById(lager).style.top = vert;
Medlem sedan feb. 20011 198 inlägg
#2

Du får ta hänsyn till style.scrollTop och style.scrollLeft

Medlem sedan sep. 200313 inlägg
#3

Aha. Jag är i grunden rätt kass på javascript.
Du råkar inte ha något exempel liggandes?

Medlem sedan aug. 20039 340 inlägg
#4

Detta borde funka:

		var hori = e.clientX + 20 - (document.all?document.body.scrollLeft:0);
		var vert = e.clientY - 6 - (document.all?document.body.scrollTop:0);
		document.getElementById(lager).style.visibility = "visible"; 
		document.getElementById(lager).style.left = hori;
		document.getElementById(lager).style.top = vert;
Medlem sedan maj 20021 558 inlägg
#5

Vad är det som ska hända egentligen?

Medlem sedan sep. 200313 inlägg
#6

Det handlar om lager som ska fungera ungefär som de gula notisarna som visas av ALT och TITLE, fast snyggare och snabbare. Dessa ska följa musens rörelser, men bara visas på vissa ställen.

Allt funkar, men problemet är att när de ska visas längre ner på en sida, och man scrollar, visas lagren på helt fel höjd.

Ska testa nitro2k01's tips nu.

Medlem sedan sep. 200313 inlägg
#7

Nej, felet består.
Såhär ser min kod ut nu:

		var hori = e.clientX + 20 - (document.all?document.body.scrollLeft:0);
		var vert = e.clientY - 6 - (document.all?document.body.scrollTop:0);		
		document.getElementById(lager).style.visibility = "visible"; 
		document.getElementById(lager).style.left = hori; 
		document.getElementById(lager).style.top = vert;
265 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)