一画线,就跑到先曲面了,但是鼠标坐标是没有问题的,在没有滚动条的情况下就没有问题
<html><HEAD>
<STYLE>
v\:* { Behavior: url(#default#VML) }
</STYLE><SCRIPT>
  var trace=""
  var vP
  var r=0
  var vS
  var p=new Object()
  var lineColor=[[255,0,0],[255,0,255]]
  p.x=0;p.y=0
  function SelfXY(){
    var yScrolltop;
    var xScrollleft;
    yScrolltop = event.clientY;
xScrollleft= event.clientX;
var top = document.body.scrollTop;
var left = document.body.scrollLeft;
//alert("top  "+top+"left  "+left);

    var y = parseInt(top)+parseInt(yScrolltop);
    var x = parseInt(left)+parseInt(xScrollleft);
var arr = new Array();
arr[0] = x;
arr[1] = y;
//alert("x="+arr[0]+"y="+arr[1]);
return arr;
  }
  function init(){
 
      document.body.onmousedown=function(){
      if (event.button==1){
        if (event.button==1) vP=document.createElement("v:PolyLine");
      }
      vS=document.createElement("v:stroke")
       //vP.filled="false"
      vP.appendChild(vS)
      document.body.appendChild(vP)
      trace="";
      }      document.body.onmousemove=function(){
      if (event.button==1){
      var x1 = SelfXY();
      pos=x1[0] + "," + x1[1] + " ";
      trace+=pos
      vS.color="rgb(255,0,0)"
      vP.points.value=trace
      }
  
      var x1 = SelfXY();          
      p.x=x1[0];
      p.y=x1[1];   
      document.onselectstart=function(){return false}
     }
  }</SCRIPT>
</HEAD>
<BODY onload=init()><?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
</BODY></html>

解决方案 »

  1.   

    把那没用的<br>全部删除就OK。
      

  2.   

    那把<br>换成一个
    <div style="position:absolute;width:1000;height:1000"/>
      

  3.   

    还有就是为什么<BR>不行,是什么原因?
      

  4.   

    不是br不行,而是div 的style="position:absolute" 起的作用,
    这是CSS绝对定位和相对定位问题。分数不重要,不用加了。
      

  5.   

    白色诡计是填充区域吧,
    //vP.filled="false"
    注释去掉就ok
      

  6.   

    嗯,明白了,非常感谢,你还是告诉我怎么给你分吧,略表心意!!另外想让高手解释下这几句话,再次谢谢大家!
    pos=x1[0] + "," + x1[1] + " ";
    trace+=pos;
    vP.points.value=trace
      

  7.   

    vP是一个路径,也就是你画出来的线,这条线是由一系列坐标构成的,
    pos=x1[0]+","+x1[1]+" "就是向路经上增加一个坐标点。