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

第三章地一二节代码问题


老是显示Cannot set property 'onmousedown' of undefined,怎么感觉没问题呀,fnDown是正确写的呀

    at drag 

window.onload=drag;

function drag(){

var oTitle=getByClass('login_logo_webqq','loginPanel')[0];


    //拖曳

oTitle.onmousedown=fnDown;


    //关闭

    var oClose=document.getElementById('ui_boxyClose');

    oClose.onclick=function(){

        document.getElementById('loginPanel').style.display='none';

    }

}


function fnDown(event){

    event=event||window.event;

var oDrag=document.getElementById('loginPanel');

    var disX=event.clientX-oDrag.offsetleft, 

        disY=event.clientY-oDrag.offsettop;

 

        //移动

        document.onmousemove=function(event){

            fnMove(event,disX,disY);

        }

        //释放

        document.onmouseup=function(){

            document.onmousemove=null;

            document.onmouseup=null;

        }

}


function fnMove(e,posX,posY){

    var oDrag=document.getElementById('loginPanel');

    var l=e.clientX-posX,

        t=e.clientY-posY;

    var winW=document.documentElement.clientWidth||document.body.clientWidth,

        winH=document.documentElement.clientHeight||document.body.clientHeight;

    

    var maxW=winW-oDrag.offsetleft;

    var maxH=winH-oDrag.offsettop;


    if(l<0){

       l=0;

    }else if(l>maxW){

       l=maxW;

    }

    

    if(t<0){

        t=0;

    }else if(t>maxH){

        t=maxH;

    }


    oDrag.style.left=l+'px';

    oDrag.style.top=t+'px';


}


正在回答

3 回答

好的,谢谢你

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

var  disX=event.clientX-oDrag.offsetLeft,</span><br><span>   disY=event.clientY-oDrag.offsetTop;<br>  //此处offsetLeft,offsetTop ,第三个单词首字母要大写。

0 回复 有任何疑惑可以回复我~
 var  disX=event.clientX-oDrag.offsetLeft,
   disY=event.clientY-oDrag.offsetTop;
  //此处offsetLeft,offsetTop ,第三个单词首字母要大写。
0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
DOM事件探秘
  • 参与学习       99525    人
  • 解答问题       1305    个

DOM事件?本课程会通过实例来给小伙伴们讲解如何使用这些事件

进入课程

第三章地一二节代码问题

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

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

帮助反馈 APP下载

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

公众号

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