首頁 >web前端 >js教程 >javascript實作拖曳層效果碼(符合標準且相容IE,chrome,firefox)_javascript技巧

javascript實作拖曳層效果碼(符合標準且相容IE,chrome,firefox)_javascript技巧

WBOY
WBOY原創
2016-05-16 17:32:45914瀏覽

實例程式碼一見:

複製程式碼程式碼如下:

程式碼如下:


HTML> >


#main div{position:absolute;width:220px;height:150px;border:1pxsolid #999;}


var a;
document.onmouseup = function() {
if (!a) return;
a = "";
};
document.onmousemove = function(d) {
if (!a) return;
d=d||事件;
a.style.left = (d.clientX - b) "px";
a.style.top = (d.clientY - c) "px";
};
函數$(o, e) {
a = o;
b = e.clientX - parseInt(a.style.left);
c = e.clientY - parseInt(a.style.top);
}
腳本>
頭>


1
;
2 div>;
3
;
4
;
5
;
6
;

身體>


效果:
[Ctrl A 全選注:
如需引入外部Js 需要刷新才能執行
]

實例程式碼請參閱: 複製程式碼

程式碼如下:



程式碼如下:





無標題文件

#test{寬度:200px;高度:200px;背景:粉紅色;遊標:移動;位置:絕對;左:100px;上:100px}

頭>



var obj=document.getElementById("test");
var b;
obj.onmousedown=function(e){
b=true;
var divLeft=parseFloat(window.getCompulatedStylewindow. getCompulatedStyle(obj,null).left:obj.currentStyle.left);
var divTop=parseFloat(window.getCompulatedStyle?window.getCompulatedStyle(obj,null).top:obj.currentStytop.top); e=e||事件;
var divX=e.clientX-divLeft; // 計算滑鼠與div已知的距離
var divY=e.clientY-divTop;
document.onmousemove=function( e){
if(b){
var e=e||event; //相容IE8及以下
obj.style.left=e.clientX-divX "px";
obj .style.top=e.clientY-divY "px";
}
}
}
document.onmouseup=function(){
b=false;
} } 腳本> 身體>

效果:


[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]


实例代码三见(拖动把柄):


[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn