鼠标拖动DIV时,鼠标指针和DIV边框不是同步,而是一前一后,怎么解决?

$(function(){

var isDownChat  = false,
    chat        = $("#chat");

$("#chat-resize").on("mousedown",function(){
    isDownChat     = true;
    // console.log( parseInt($("#chat-resize").offset().left))
});

$(document).on("mouseup",function(){ 
    isDownChat = false;
    $(".modalChat").css("display","none");
    $("#chat-resize").css("background","");
});
 
$(document).on("mousemove",function(e){ 
    if(isDownChat) {
        $(".modalChat").css("display","block");
        $("#chat-resize").css("background","#2196f3");
        var curElementLeft   = parseInt(chat.offset().left);  // 当前 chat元素左边距
        var curElementWidth  = chat.width();                  // chat的宽度
      
        var mouseLeft        = e.pageX;                             // 鼠标的X坐标
        var offsetWidth      = curElementLeft-mouseLeft;            //宽度差值
        var w   = Math.max("570",(curElementWidth+offsetWidth));

        chat.css("width",w+"px");
        
    }
})

})

阅读 2.7k
1 个回答

目测是冒泡的问题,还有就是当鼠标松开时取消事件,能把全部的代码发一下吗,你先在,.on前面加.stop()试一试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题