为了账号安全,请及时绑定邮箱和手机立即绑定

老师我有一个问题,明明写的一模一样,但是发现一个bug,如果鼠标按下后时间较长不松开进行拖动,再松开鼠标发现还是可以拖动,这是怎么回事啊?

window.onload = function () {
    var rightId = document.getElementById("right1"); //获取右边界id
    var mainId = document.getElementById("main"); //获取整个区域的id
    var ifKeyDown = false;
    //鼠标按下事件
    rightId.onmousedown = function(){
        ifKeyDown = true;
    }
    rightId.onmouseup = function(){
        ifKeyDown = false;
    }
//鼠标点击右坐标点后 不松开情况下跟随鼠标移动 故使用window事件
    window.onmousemove = function (e) {
        if (ifKeyDown == true){
            var x = e.clientX; //鼠标x坐标
            var addWidth = "";   //鼠标增加的宽度
            var widthBefore = mainId.offsetWidth - 2;   //选取框变化前的id
            addWidth = x - widthBefore - getPosition(mainId).left;
            mainId.style.width = addWidth + widthBefore + "px";      //选取框变化后的宽度
        }
    }
}


//获取元素相对于屏幕左边的距离,使用offsetLeft
function getPosition(node){
    var left = node.offsetLeft;
    var top = node.offsetTop;
    var parent = node.offsetParent;
    while (parent != null){
        left += parent.offsetLeft;
        top += parent.offsetTop;
        parent = parent.offsetParent;
    }
    return {"left":left,"top":top};
}


正在回答

2 回答

手打代码就好了,复制粘贴会提示错误offset?02,2?7,5

0 回复 有任何疑惑可以回复我~

松开事件的对象改成window试试呗

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
用JavaScript实现图片剪切效果
  • 参与学习       34578    人
  • 解答问题       135    个

神奇的图片特效,还会给大家介绍css中让人惊喜的clip属性

进入课程

老师我有一个问题,明明写的一模一样,但是发现一个bug,如果鼠标按下后时间较长不松开进行拖动,再松开鼠标发现还是可以拖动,这是怎么回事啊?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信