拖拽js和jq写法
来源:互联网 发布:剑3唐门成男捏脸数据 编辑:程序博客网 时间:2024/05/16 19:20
第一种原生js写法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
window.onload=function ()
{
var
oDrag=document.getElementById(
'drag'
);
oDrag.onmousedown=function (ev)
{
var
oEvent=ev||
event
;
var
disX=oEvent.clientX-oDrag.offsetLeft;
//x坐标
var
disY=oEvent.clientY-oDrag.offsetTop;
//y坐标
document.onmousemove=function (ev)
{
var
oEvent=ev||
event
;
var
l=oEvent.clientX-disX;
//移动x坐标位置
var
t=oEvent.clientY-disY;
//移动y坐标位置
//限制范围
if
(l<0)
{
l=0;
}
else
if
(l>document.documentElement.clientWidth-oDrag.offsetWidth)
{
l=document.documentElement.clientWidth-oDrag.offsetWidth;
}
if
(t<0)
{
t=0;
}
else
if
(t>document.documentElement.clientHeight-oDrag.offsetHeight)
{
t=document.documentElement.clientHeight-oDrag.offsetHeight;
}
oDrag.style.left=l+
'px'
;
oDrag.style.top=t+
'px'
;
};
document.onmouseup=function ()
{
document.onmousemove=
null
;
document.onmouseup=
null
;
};
};
};
第二种jQuery写法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$(function(){
$(
'#drag'
).mousedown(function (){
var
patch=parseInt($(
this
).css(
"height"
))/2;
/* 也可以写成var patch=parseInt($(this).css("width"))/2*/
$(document).mousemove(function (
event
){
var
ox=
event
.clientX;
var
oy=
event
.clientY;
var
t=oy-patch;
var
l=ox-patch;
var
w=$(window).width()-$(
'#drag'
).width();
var
h=$(window).height()-$(
'#drag'
).height();
if
(t<0){
t=0;
}
else
if
(t>h){
t=h;
}
if
(l<0){
l=0;
}
else
if
(l>w){
l=w;
}
$(
'.drag'
).css({top:t,left:l})
})
});
$(document).mouseup(function (){
$(
this
).unbind(
"mousemove"
);
});
})
0 0
- 拖拽js和jq写法
- JS和JQ的区别
- JS基础和JQ点滴
- jq和js的区别
- js和jq小知识
- JQ插件写法二
- jq插件写法
- jq插件写法
- jq链式写法浅析
- js jq 单击和双击区分
- js和jq中的绑定事件
- js和jq常用方法区分
- 原生JS和jQ总结--样式
- JS和jQ的总结--事件
- JS和jQ的总结--事件
- cookie的运用js和jq
- js事件和JQ事件的区别
- js和jq的disabled&readonly
- Linux查看版本当前操作系统信息
- Linux 常用快捷键
- 八数码问题
- SEO教你软文怎样写才能招引用户与搜索引擎
- ZOJ 3781 Paint the Grid Reloaded
- 拖拽js和jq写法
- Robotium只有apk文件需要重新签名时
- Android开发之ListView拖动时背景变黑的问题
- 如何自定义iOS中的控件
- Android 应用程序窗体显示状态操作(requestWindowFeature()的应用)
- 单片机实验3(外部中断)
- 智能耳机VOW:国际化、音乐+轻社交、软件的长期服务
- 三千弱水,总有一瓢知我冷暖
- C#调用Bat的方法。