<html>
  <head>
    <title>My JSP 'test.jsp' starting page</title>
<script type="text/javascript">
var mX;
var mY;
var flag=0;
function get_x(){
mX=event.x;
mY=event.y;
}
function mousedown()
{
mX=event.x;
mY=event.y;
flag=1;
}
function mouseup()
{
flag=0;
}
function mousemove()
{
if(flag==0)return false;
var e=document.getElementById('aa');
mXmov=event.clientX;
mYmov=event.clientY;
var w=e.offsetWidth;
e.style.width=parseInt(w)+parseInt(mXmov-mX);
}
</script>
<style type="text/css">
div{float:left;}
.aaCss{border:1px solid red;width:200px;height:100px;}
</style>
  </head>
  
  <body onmousemove="get_x()">
    <div id="body" onmouseup="mouseup()">
     <div id="aa" class="aaCss">AAAA</div>
     <div onmousedown="mousedown()" onmousemove="mousemove()" id="bb" style="width:30px;border:1px solid gary;">dragMe</div>
    </div>
  </body>
</html>

解决方案 »

  1.   

    正常了
    =========e.style.width=parseInt(w)+parseInt(mXmov-mX);取得的字符串不是能自动转数字么?为什么不转数字出现这个问题呢?
    还有个问题
    ===============
    var w=e.offsetWidth;
    e.style.width=w+(mXmov-mX);变成        var w=e.style.width;
    e.style.width=w+(mXmov-mX);
    就出问题了 e.style.width 不就是标签的宽么?
      

  2.   

    主要是你mX取值错误,mX应该是一个变量,即鼠标的横坐标
    而你是拿的mousedown时的横坐标,那是一个固定值了