以下代码是计算坐标的,画线的等一下给你补上,好久没有搞过VML了 ie通过,其他浏览器如果你一定要兼容,自己想办法去弄吧<SCRIPT>
var cc=false;
var pos=new Array()
document.onclick=function(){
    if (cc=!cc){
      pos.push([event.x,event.y])
    }else {
     pos.push([event.x,event.y])
     var vv=Math.sqrt(Math.pow((pos[1][0]-pos[0][0]),2)+Math.pow((pos[1][1]-pos[0][1]),2))
     alert(["两点坐标分别是:",pos[0][0],",",pos[0][1],"和",pos[1][0],",",pos[1][1],".距离是:",vv].join(""))
   pos=[]
    }
}
</script>

解决方案 »

  1.   

    还是给你做一个界面把,可以实时显示两点坐标的数据的第一点坐标:&nbsp;X:<input id=t1 value=0 size=4>Y:<input id=t2 value=0 size=4><br>
    第二点坐标:&nbsp;X:<input id=t3 value=0 size=4>Y:<input id=t4 value=0 size=4><br><SCRIPT>
    var cc=false;
    var pos=new Array()
    document.onclick=function(){
      if (cc=!cc){
         pos.push([event.x,event.y])
      }else {
        pos.push([event.x,event.y])
        var vv=Math.sqrt(Math.pow((pos[1][0]-pos[0][0]),2)+Math.pow((pos[1][1]-pos[0][1]),2))
        alert(["坐标分别是:",pos[0][0],",",pos[0][1],"和",pos[1][0],",",pos[1][1],".距离:",vv].join(""))
        t1.value=t2.value=t3.value=t4.value=0
        pos=[]
      }
    }
    document.onmousemove=function(){
    if (!cc){
    t1.value=event.x
    t2.value=event.y
    }else{
    t3.value=event.x
    t4.value=event.y
    }
    }
    </script>
      

  2.   

    <html xmlns:v="urn:schemas-microsoft-com:vml">
    <style type="text/css">v\:* {behavior:url(#default#VML);}</style>
    <body>
    第一点坐标:&nbsp;X:<input id=t1 value=0 size=4>Y:<input id=t2 value=0 size=4><br>
    第二点坐标:&nbsp;X:<input id=t3 value=0 size=4>Y:<input id=t4 value=0 size=4><br><SCRIPT>
    //以下四个全局变量
    var cc=false;  //cc:   true:第一点已经按下   false:第二点已经按下
    var pos=new Array()   //保存第一点和第二点的位置 [x1,y1,x2,y2]
    var o=null;           //直线
    var dot=null;         //第一点按下的时候画的点,这个点会在第二点按下的同时删除document.onclick=function(){
      if (cc=!cc){        //第一点已经按下
         pos.push([event.x,event.y])    //保存第一点坐标
         if (o) o.removeNode(true)     //如果之前画过线,先删除它 //下面几行在第一点按下的位置画个点注:因为vml没有直接画点的方法,所以我画的实际是一条极短的短线
       var s='<v:line from="'+pos[0][0]+','+pos[0][1]+'" to="'+(pos[0][0]+2)+','+(pos[0][1]+2)+'"                    style="position:absolute;left:0px;top:0px;"></v:line>';
        dot=document.createElement(s);
        document.body.insertAdjacentElement('BeforeEnd',dot);   }else {      //第二点已经按下    pos.push([event.x,event.y])   //保存第二点位置先
         //计算距离
        var vv=Math.sqrt(Math.pow((pos[1][0]-pos[0][0]),2)+Math.pow((pos[1][1]-pos[0][1]),2))
        if (dot) dot.removeNode(true) //删除第一点按下的时候画的点
        
        //下面三行画线
        s='<v:line from="'+pos[0][0]+','+pos[0][1]+'" to="'+pos[1][0]+','+pos[1][1]+'"                    style="position:absolute;left:0px;top:0px;"></v:line>';
        o=document.createElement(s);
        document.body.insertAdjacentElement('BeforeEnd',o);     alert(["坐标分别是:",pos[0][0],",",pos[0][1],"和",pos[1][0],",",pos[1][1],".距离:",vv].join(""))    
        //清空以前保存的数据
        t1.value=t2.value=t3.value=t4.value=0
        pos=[]
      }
    }
    document.onmousemove=function(){
    if (!cc){     //第一点还没有按下
    t1.value=event.x
    t2.value=event.y
    }else{          
    t3.value=event.x
    t4.value=event.y
    }
    }
    </script>
    </body>
    </html>
      

  3.   

    刚才有个注释写错了 pos [[x1,y1],[x2,y2]]也就是
    pos[0]=[x1,y1]
    pos[1]=[x2,y2]才是对的
      

  4.   

    http://community.csdn.net/Expert/topic/4735/4735005.xml?temp=.8014795
    大哥 能不能帮我把这个也解决了