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

为什么把document.getElementById('p').style.display="none";封装在函数里面,调用失效?

前面的CSS我就不截图了, 程序是没有问题的,

但是我把 document.getElementById('p').style.display="none";封装进diso(p)后

再调用oClose.onclick=diso(loginPanel);   为什么loginPanel不能关闭?

而写成正常形式的

 oClose.onclick=function () {document.getElementById('loginPanel').style.display="none";}

后, 能正常关闭? 求解答

window.onload=drag;

function drag(){

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

    oTitle.onmousedown=fnDown; 

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

   oClose.onclick=diso(loginPanel);  //  oClose.onclick=diso(“loginPanel”);  这样写也不行

}

function diso(p) {document.getElementById('p').style.display="none";}


想要实现的效果是, 下次再取ID的时候,直接用 diso("元素的ID") 就可以, 不用每次都打document 这一堆东西。


提问者:rainy_li3676598 2016-10-27 09:14

个回答