KiMoGiGi 技术文集
不在乎选择什么,而在乎坚持多久……
IT博客
首页
联系
聚合
管理
185 Posts :: 14 Stories :: 48 Comments :: 0 Trackbacks
公告
KiMoGiGi 技术文集
注:本Blog技术文章
除特别说明外
全部均来源Web和转载
最近正在看的
(图片来源
China-Pub
):
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(10)
给我留言
查看公开留言
查看私人留言
随笔分类
(219)
AJAX.NET(5)
ASP.NET(38)
Basic(7)
C# / Winforms(64)
Enterprise Library(3)
Java(1)
JavaScript(35)
Python(4)
Web小技巧(19)
WPF/SilverLight(4)
工具插件(6)
数据库相关(7)
经验之谈(24)
网络编程(2)
随笔档案
(185)
2011年3月 (1)
2010年11月 (1)
2010年8月 (1)
2010年6月 (2)
2009年10月 (1)
2009年9月 (9)
2009年7月 (1)
2009年5月 (2)
2009年3月 (6)
2009年2月 (3)
2009年1月 (7)
2008年12月 (6)
2008年11月 (5)
2008年10月 (3)
2008年9月 (1)
2008年8月 (5)
2008年7月 (10)
2008年6月 (9)
2008年5月 (6)
2008年4月 (5)
2008年3月 (6)
2008年2月 (1)
2008年1月 (4)
2007年12月 (11)
2007年11月 (11)
2007年10月 (2)
2007年8月 (1)
2007年4月 (4)
2007年3月 (11)
2007年2月 (3)
2007年1月 (10)
2006年12月 (12)
2006年11月 (6)
2006年10月 (3)
2006年8月 (3)
2006年7月 (5)
2006年6月 (8)
文章分类
(25)
ASP.NET(8)
Basic Knowledge(1)
C#(4)
JavaScript
Web设计
开源框架 - NHibernate
数据库相关
经验之谈
英文文章翻译(12)
文章档案
(14)
2008年8月 (1)
2008年6月 (2)
2007年12月 (4)
2007年11月 (7)
收藏夹
JavaScript
Friend 's Blog
My Step
映画记录
技术崇拜
A JavaScript Fancier
Dflying
dudu
First we try, then we trust
lifesinger
淘宝网UED部-Web前端
TerryLee's Tech Space
听棠.NET
周爱民
职业生涯顾问Leo的专栏
鸟食轩
技術網站
C# Corner
codeplex
CSDN
博客園
数据结构
點部落
搜索
Javascript实现对象的拖动操作
本例需要掌握的技巧比较多,捕捉鼠标,获取鼠标位置(相当于对象),释放鼠标捕捉,文档的滚动距离。
1. setCapture() 设置属于当前文档的对象的鼠标捕捉。
2. event.offsetX 设置或获取鼠标指针位置相对于触发事件的对象的 x 坐标。
3. event.offsetY 设置或获取鼠标指针位置相对于触发事件的对象的 y 坐标。
4. releaseCapture() 释放当前文档中对象的鼠标捕捉。
5. scrollLeft 设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离。
6. scrollTop 设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离。
7. with 为一个或多个语句设定默认对象。
8. event.x,event.y 设置或获取鼠标指针位置相对于窗口对象的 x ,y坐标。
1
<
html
xmlns
="http://www.w3.org/1999/xhtml"
xml:lang
="en"
lang
="en"
>
2
<
head
>
3
<
title
></
title
>
4
<
style
type
="text/css"
>
5
#l1
{
}
{
6
position
:
absolute
;
top
:
100px
;
left
:
100px
;
7
width
:
100px
;
height
:
150px
;
border
:
1px solid #ccc
;
8
background
:
#f00
;
9
z-index
:
1
10
}
11
#l2
{
}
{
12
position
:
absolute
;
top
:
150px
;
left
:
150px
;
13
width
:
100px
;
height
:
150px
;
border
:
1px solid #666
;
14
background
:
#0f0
;
15
z-index
:
2
16
}
17
#l3
{
}
{
18
position
:
absolute
;
top
:
200px
;
left
:
200px
;
19
width
:
100px
;
height
:
150px
;
border
:
1px solid #999
;
20
background
:
#00f
;
21
z-index
:
3
;
22
}
23
</
style
>
24
<
script
type
="text/javascript"
>
25
var
x,y,z,down
=
false
,obj;
26
function
init()
{
27
obj
=
event.srcElement;
//
获取焦点对象
28
obj.setCapture();
//
设置鼠标捕捉
29
z
=
obj.style.zIndex;
//
取得原z轴位置
30
obj.style.zIndex
=
100
;
//
设定在最上层
31
x
=
event.offsetX;
//
获取鼠标指针相对于触发事件的对象的x位置
32
y
=
event.offsetY;
//
获取鼠标指针相对于触发事件的对象的y位置
33
down
=
true
;
//
设置鼠标状态为按下状态
34
}
35
function
moveIt()
{
36
if
(down
&&
event.srcElement
==
obj)
{
37
with
(obj.style)
{
38
posLeft
=
document.body.scrollLeft
+
event.x
-
x;
39
posTop
=
document.body.scrollTop
+
event.y
-
y;
40
}
41
}
42
}
43
function
stopDrag()
{
44
down
=
false
;
45
obj.style.zIndex
=
z;
46
obj.releaseCapture();
47
}
48
</
script
>
49
</
head
>
50
<
body
>
51
<
div
id
="l1"
onmousedown
="init()"
onmousemove
="moveIt()"
onmouseup
="stopDrag()"
>
level1
</
div
>
52
<
div
id
="l2"
onmousedown
="init()"
onmousemove
="moveIt()"
onmouseup
="stopDrag()"
>
level2
</
div
>
53
<
div
id
="l3"
onmousedown
="init()"
onmousemove
="moveIt()"
onmouseup
="stopDrag()"
>
level3
</
div
>
54
</
body
>
55
</
html
>
摘至
A JavaScript Fancier
posted on 2006-06-23 13:32
KiMoGiGi
阅读(226)
评论(0)
编辑
收藏
引用
所属分类:
JavaScript
只有注册用户
登录
后才能发表评论。
Powered by:
IT博客
Copyright © KiMoGiGi