问答详情
源自:4-1 [DOM事件] QQ面板拖拽效果(上)

老是提醒我oTitle.onmousedown=fnDown;这句有错,错在哪里了嘛,面板都移动不了,求大神指教啊

function getByClass(clsName,parent){

var oParent=parent?document.getElementById(parent):document;//取出来的是个数组

var elements=oParent.getElementsByTagName('*');//取出parent下所有的元素

var eles=[];//创建一个空数组来存放待会找出来的所有的clsName的元素


for(var i=0;i<elements.length;i++){

if (elements[i].className==clsName) {

eles.push(elements[i]);//将找出来的元素放进eles中

}

return eles;

}

}


window.onload=drag;


function drag(){

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

oTitle.onmousedown=fnDown;

}

function fnDown(){

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

document.onmousemove=function(event){

event=event||window.event;

oDrag.style.left=event.clientX+'px';

oDrag.style.top=event.clientY+'px';

}

}

老是提醒我oTitle.onmousedown=fnDown;这句有错,错在哪里了嘛,面板都移动不了,求大神指教啊

Uncaught TypeError: Cannot set property 'onmousedown' of undefined

    at drag (drag.js:19)


提问者:_1斯多葛式的冷静1_ 2017-05-15 21:36

个回答

  • _1斯多葛式的冷静1_
    2017-05-15 21:43:25

    我知道了,是return eles;应该在for循环外面。