function layerMouseMove()
{
    if(tmpObj!=null)
    {    
        tmpObj.setCapture()        if(event.clientX>1) tmpObj.style.left = event.x-tmpObj.l
        if(event.clientY>1) tmpObj.style.top = event.y-tmpObj.t
    }
}

解决方案 »

  1.   

    试了一下,好像不行,仍然是拖动到了右边,会出现滚动条。像csdn出现的那个拖动框,到了屏幕右边,就不能再向右拖动了,不知道怎么做出来的。
      

  2.   

    你判断下,当前DIV的left + width是否大于浏览器的可视right,如果是,就要响应向右了不就结了吗
      

  3.   


    function layerMouseMove()
    {
        if(tmpObj!=null)
        {    
            tmpObj.setCapture()        tmpObj.style.left = event.x-tmpObj.l
            tmpObj.style.top = event.y-tmpObj.t var left=parseInt(tmpObj.style.left);
    var top=parseInt(tmpObj.style.top);
            var maxLeft=parseInt(document.body.clientWidth)-parseInt(tmpObj.style.width);
            var maxLeft=parseInt(document.body.clientHeight)-parseInt(tmpObj.style.height);
    if(left<0){
    tmpObj.style.left="0px";
    }
    if(left>maxLeft){
    tmpObj.style.left=maxLeft+"px";
    }
    if(top<0){
            tmpObj.style.top="0px";
    }
    if(top>maxTop){
    tmpObj.style.top=maxTop+"px";
    }
        }
    }