?這是老師講課的連接,就是這一節(jié)里面的內(nèi)容?
?以下是我寫(xiě)的JS代碼,我沒(méi)檢查出來(lái),但是結(jié)果是我一點(diǎn)擊頁(yè)面想拖動(dòng),它就不見(jiàn)了,我用的是獵豹瀏覽器??
//封裝通過(guò)找到class獲取元素???
function?getByClass(clsName,parent){
var?oParent=parent?document.getElementById(parent):document,
????eles=[],
elements=oParent.getElementsByTagName('*');
for(var?i=0,l=elements.length;i<l;i++){
if(elements[i].className==clsName){
eles.push(elements[i])
}}
return?eles;
}
//
window.onload=drag;
//獲取class元素進(jìn)行onmousedown事件,并且再鼠標(biāo)按下的時(shí)候進(jìn)行fnDown函數(shù)
function?drag(){
var?oTitle=getByClass('login_logo_webqq','loginPanel')[0];
????oTitle.onmousedown=fnDown;
//關(guān)閉
}
//獲取id元素,利用id元素跟隨光標(biāo)坐標(biāo)
function?fnDown(event){
event=?event?||?window.event;
var?oDrag=document.getElementById('loginPanel'),
????disX=event.clientX-oDrag.offsetLeft,
disY=event.clientY-oDrag.offsetTop;
oDrag.onmousemove=function(event){
event=event?||?window.event;
fnMove(event,disX,disY);
};
?????????
}
function?fnMove(e,posX,posY){
var?oDrag=document.getElementById('loginPanel'),
????l=e.clientX-posX,
t=e.clientY-posY,
winW=document.documentElement.clientWidth||document.body.clientWidth,
winH=document.documentElement.clientHight||document.body.clientHeight,
maxW=winW-oDrag.offsetWidth,
maxH=winH-oDrag.offsetHeight;
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';
}
//?JavaScript?Document
為什么我一按,還沒(méi)拖動(dòng),我的整個(gè)面板就被拖到頁(yè)面頂上了,也拖不下來(lái)?獵豹瀏覽器
慕仰6432972
2016-07-28 23:10:03