DOM事件探秘-QQ拖曳效果

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

自律让人自由4008941

2016-11-20 13:19

function getByName(clsName,parent) {

  var oParent = parent?document.getElementById(parent):document,

      eles = [],

      elements = oParent.getElementsByTagName('*');


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

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

        eles.push(elements[i]);

      }

      return eles;

  }

}


window.onload = drag;


function drag() {

  var oTitle = getByName('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';

  }

}

DOM时间探秘里边照着视频打的,对了一遍没找到问题……控制台报错Cannot set property 'onmousedown' of undefined,不知道啥原因……望解答,谢谢!

写回答 关注

1回答

  • 宋匿
    2016-11-20 22:52:00
    return eles;

    应该在 for 循环外

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


    慕码人118... 回复慕码人118...

    例如 function cs(n){ if(n==1){retrun 1;} if(n==2){return;} else{} } 说明:当参数为1时函数返回值为1并且跳出函数, 当参数为2时函数返回值为空并且跳出函数, 当函数为其他值时继续执行函数下面的语句,直到遇到下个return或则全部执行完语句在跳出函数

    2016-12-30 15:08:27

    共 6 条回复 >

DOM事件探秘

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

99532 学习 · 1298 问题

查看课程

相似问题