Avatar billede el-prebsi Nybegynder
19. november 2001 - 18:09 Der er 6 kommentarer og
1 løsning

Cursor position

Hvordan giver jeg et element koordinaterne til min cursor position??

F.eks. skal jeg ændre left og top-style\'en på en table med ID\'et \"tabel1\"
Avatar billede Slettet bruger
19. november 2001 - 18:18 #1
event.clientX
og
event.clientY
Avatar billede Slettet bruger
19. november 2001 - 18:19 #2
... giver resultatet i pixels for musens henholdsvis X og Y position i forhold til browservinduets øverste venstre punkt.
Avatar billede Slettet bruger
19. november 2001 - 18:20 #3
Avatar billede Slettet bruger
19. november 2001 - 18:21 #4
I NS skal man åbenbart bruge event.pageX og Y
Avatar billede el-prebsi Nybegynder
21. november 2001 - 19:29 #5
Ja, men det hjælper mig jo ikke så meget for det her virker jo ikke ligefrem:

  <script type=\"text/javascript\">
  <!--
    function LeftCursorPos() {
      document.all(\'tabelnr\').style.left = event.clientX;
    }
  -->
  </script>
</head>
<body>

<table id=\"tabelnr\" style=\"border: 1px solid black; position: absolute; left: 10px; top: 20px; visibility: visible;\">
<tr>
<td>
slakj dfasjdfljsadlfj sd falsd f
</td>
</tr>
</table>

<script type=\"text/javascript\">
  LeftCursorPos();
</script>
Avatar billede Slettet bruger
22. november 2001 - 15:33 #6
Du bliver nødt til hele tiden at køre LeftCursorPos() på document.onMouseMove, d.v.s.
<body onMouseMove=\"LeftCursorPos();\">
Men så vidt jeg husker, opstår der stadigvæk problemer, så tag dette script i stedet:

<html>
<head>
    <title>Cross-browser Dynamic HTML Scripts - CursorFollow_Simple</title>
<style type=\"text/css\">
#divCursor{position:absolute; width:100; height:15;}
</style>
<script type=\"text/javascript\" language=\"JavaScript\">
/********************************************************************************
Copyright (C) 1999 Thomas Brattli
This script is made by and copyrighted to Thomas Brattli at www.bratta.com
Visit for more great scripts. This may be used freely as long as this msg is intact!
I will also appriciate any links you could give me.
********************************************************************************/
//Default browsercheck, added to all scripts!
function checkBrowser(){
    this.ver=navigator.appVersion
    this.dom=document.getElementById?1:0
    this.ie5=(this.ver.indexOf(\"MSIE 5\")>-1 && this.dom)?1:0;
    this.ie4=(document.all && !this.dom)?1:0;
    this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
    this.ns4=(document.layers && !this.dom)?1:0;
    this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
    return this
}
bw=new checkBrowser()
//Set these variables:
fromLeft=10 // How much from the left of the cursor should the div be?
fromTop=-10 // How much from the top of the cursor should the div be?

/********************************************************************
Initilizes the objects
*********************************************************************/
function cursorInit(){
    oCursor=new makeCursorObj(\'divCursor\')
    scrolled=bw.ns4 || bw.ns5?\"window.pageYOffset\":\"document.body.scrollTop\"
    if(bw.ns4)document.captureEvents(Event.MOUSEMOVE)
    document.onmousemove=move;
}
/********************************************************************
Contructs the cursorobjects
*********************************************************************/
function makeCursorObj(obj,nest){
    nest=(!nest) ? \'\':\'document.\'+nest+\'.\'                                       
      this.css=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+\"document.layers.\" +obj):0;                                                       
    this.moveIt=b_moveIt;                                                                    
    return this
}
function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x; this.css.top=this.y}
/********************************************************************
Tracking the mousemove and moves the object along.
*********************************************************************/
function move(e){
    x=bw.ns4 || bw.ns5?e.pageX:event.x
    y=bw.ns4 || bw.ns5?e.pageY:event.y
    if(bw.ie4 || bw.ie5) y=y+eval(scrolled)
    oCursor.moveIt(x+fromLeft,y+fromTop)
}
onload=cursorInit;
</script>
</HEAD>
<BODY bgcolor=\"White\">
<div id=\"divCursor\">
    HER SKAL DIT INDHOLD, DER FØLGER MUSEN, STÅ!
</div>

YOUR REGULAR BODY CONTENT GOES IN HERE
</BODY>
</HTML>
Avatar billede el-prebsi Nybegynder
23. november 2001 - 21:37 #7
Ja, men det er som sådan ikke et objekt, der skal flytte sig sammen med musen men blot stå stille. Når musen flyttes henover et element skal et andet element alignes efter cursorens position.? Derfor onMouseOver!!!

jeg kunne tænke mig at problemet med event.clientX og clientY er at det ikke indeholde værdien px som skal til for at få overnstående script (mit eget forslag) til at fungere - men hvordan får jeg det til dette???
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester