javascript完美拖放的实现
HTML代码:复制代码代码如下所示:
网站登录
用户名 uff1a
秘密代码:
CSS代码:
复制代码代码如下所示:
主体,H2 {
保证金:0;
填充:0;
}
{ #登录
宽度:350px;
身高:250px;
边境:1px solid # CCC;
位置:绝对;
左:512px;
上图:300px;
}
#登录H2 {
字体大小:14px;
文本对齐:中心;
身高:30px;
行高:30px;
背景:# F60;
颜色:白色;
光标移动;
边距:30px;
字母间距:1px;
}
# login.user,# login.pass {
文本对齐:中心;
字体大小:12px;
身高:60px;
行高:40px;
}
# login.txt {
宽度:200px;
边境:1px solid # CCC;
背景:# FFF;
身高:30px;
行高:30px;
}
# login.submit {
文本对齐:正确;
}
# login.button {
宽度:100px;
身高:30px;
背景:# 06f;
边界:无;
光标:指针;
保证金:10px 30px;
颜色:白色;
字母间距:1px;
字体粗细:粗体;
}
拖放核心代码:
复制代码代码如下所示:
拖曳功能(obj){
如果(typeof obj = 'String'){
var obj = document.getelementbyid(obj);
{人}
var obj = obj;
}
功能fixevent(事件){
event.srcelement event.target =;
event.preventdefault = fixevent.preventdefault;
返航事件;
}
fixevent.preventdefault =函数(){
this.returnvalue = false;
};
obj.onmousedown = MouseDown;
函数MouseDown(e){
VaR E = E fixevent(窗口。事件)| |;
VaR disx = e.clientx - obj.offsetleft;
VaR Disy = e.clienty - obj.offsettop;
如果(e.target.tagname = 'h2){
document.onmousemove =移动;
document.onmouseup =了;
{人}
document.onmousemove = null;
document.onmouseup = null;
}
函数移动(e){
VaR E = E fixevent(窗口。事件)| |;
VaR左= e.clientx - disx;
Var top = e.clientY - disY;
如果(obj。设置鼠标捕获是是是){
Obj.setCapture();
}
如果(左< 0){
左= 0;
否则如果}(左> { document.documentelement.clientwidth - OBJ。offsetwidth)
左= document.documentelement.clientwidth - obj.offsetwidth;
}
如果(顶部< 0){
顶部= 0;
否则如果}(顶> { document.documentelement.clientheight - OBJ。offsetheight)
最高document.documentelement.clientheight - obj.offsetheight;
}
obj.style.left =左+ 'px;
obj.style.top =顶+ 'px;
返回false;
};
函数向上(){
如果(obj。捕获释放){
Obj.releaseCapture();
}
document.onmousemove = null;
document.onmouseup = null;
}
};
}
调用代码:
复制代码代码如下所示:
在window.onload =函数(){
VaR登录= document.getelementbyid('login);
拖动(登录);
};
欢迎批评!!!!