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

来源:4-1 [DOM事件] QQ面板拖拽效果(上)

_1斯多葛式的冷静1_

2017-05-15 21:36

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斯多葛式的冷静1_
    2017-05-15 21:43:25

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

DOM事件探秘

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

99532 学习 · 1303 问题

查看课程

相似问题