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

求解为什么拖动无反应

跟随视频写到11分钟左右 测试失败
报错信息:
Uncaught TypeError: Cannot read property 'offsetTop' of null
    at HTMLDivElement.fnDown (drag.js:26)
    
源码:
function getByClass(clsName, parent) {
    var oParent = parent ? document.getElementById(parent) : document,
        eles = [],
        elements = oParent.getElementsByTagName('*');

    for (var i = 0, l = elements.length; i < l; i++) {
        if (elements[i].className == clsName) {
            eles.push(elements[i]);
        }
    }
    return eles;
}

window.onload = drag;

function drag() {
    var oTitle = getByClass('login_logo_webqq', 'loginPanel')[0];
    oTitle.onmousedown = fnDown;
}

function fnDown(event) {
    event = event || window.event;
    var oDrag = document.getElementById('loginPane1'),
        //  光标按下时光标和面板之间的距离 相对XY
        disX = event.clientX - oDrag.offsetLeft,
        disY = event.clientY - oDrag.offsetTop;
    //  移动
    document.onmousemove = function (event) {
        event = event || window.event;
        fnMove(event, disX, disY);
    }
}

function fnMove(e, posX, posY) {
    var oDrag = document.getElementById('loginPane1'),
        l = e.clientX - posX,
        t = e.clientY - posY;
    oDrag.style.left = l + 'px';
    oDrag.style.top = t + 'px';
}


正在回答

1 回答

 disX = event.clientX - oDrag.offsetLeft,  这一句应该以分号结尾,不是逗号。

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

慕雪2062911 提问者

谢谢你,但不是因为这个,oDrag定义时L打了1
2018-04-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

求解为什么拖动无反应

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号