jag har ett litet problem med en sak, jag har en div med id ’pg’ som är osynlig till en början... Jag ser att du använder event.x och y. dessa anger positionen i förhållande till webb fönstret. Använd event.screen.x resp. y. Dessa anger värdet i förhållande till skärmen. Jag testade event.screen.x, men jag fick det ändå inte till att funka! Så här har jag löst en liknande funktion.följa mus?
men när jag drar musen över ett visst ställe på skärmen anropar jag visa_div() med hjälp av onmouseover...
då vill jag att div ska följa muspekaren och det gör den, men bara när jag har sidan scrollad i topp, när jag scrollar ner sidan så följer inte div med utan rör sig då några cm ovenför pekaren, beroende på hur mycket jag scrollar ner...
hur löser jag detta så att div alltid följer musen??
function visa_div() {
objRef = document.all.pg.style;
document.onmousemove = flytta_div;
}
function flytta_div() {
var positionX=new Array();
positionX[0] = null;
positionX[1] = null;
positionX[2] = null;
positionX[3] = null;
positionX[4] = null;
var positionY=new Array();
for (i=0;i<4;i++) {
positionX[i]=positionX[i+1];
positionY[i]=positionY[i+1];
}
positionX[4]=event.x;
positionY[4]=event.y;
if (positionX[4] != null) {
objRef.left=positionX[4] + 20;
objRef.top=positionY[4] + 15;
objRef.visibility=”visible”;
}
}
i functionen flytta_div() har jag lagt in en array() för att div ska följa pekaren lite mjukare och inte hacka så mycket....
tack på förhand! Sv: följa mus?
MVH
Kjell Ideskär
http://www.fiskekortet.comSv: följa mus?
Felmeddelandet blev:
"'event.screen.x' är null eller inte ett objekt"
och så provade jag med att ta bort punkten efter screen, alltså event.screenx!
men då fick jag bara fram värdet "undefined"...
kan det vara något annat fel som jag har gjort?Sv: följa mus?
Byt bara ut namnet mouseoverbox mot pg så skall det fungera.
Denna lösning fungerar både i IE och i Mozilla.
if (document.all)
{
document.getElementById("mouseoverbox").style.top = event.clientY + document.body.scrollTop;
document.getElementById("mouseoverbox").style.left = event.clientX + document.body.scrollLeft;
}
else
{
document.getElementById("mouseoverbox").style.top = e.pageY;
document.getElementById("mouseoverbox").style.left = e.pageX;
}