never-online 's Tech Blog In CSDN

never online - Everlasting love for angela.

用户操作
[即时聊天] [发私信] [加为好友]
never-onlineID:BlueDestiny
153977次访问,排名502好友17人,关注者33
在京城
BlueDestiny的文章
原创 114 篇
翻译 0 篇
转载 8 篇
评论 224 篇
never-online的公告
Web:
www.never-online.net
Email:
BlueDestiny##126.com
QQ:
77091373
最近评论
kwlong2008:来看看朋友,最近过的怎么样?俺的空间是介绍网站制作网站建设的,有时间也常去一下我的空间谢谢,wow gold

When you play a game of the day, the list of friends in the game whether there are always a few names of black
wow power leveling<……
zyhomepage:支持一下
clicksun:如果要制作纯CSS+DIV的圆角方框图形,可以到这里直接在线制作,什么颜色都可以:http://corner.cha.la
C_SuperMe:可以好好学习一下啊!!
文章分类
收藏
相册
icon
JS & DHTML
Dhteumeuleu
Douglas Crockford
Webfx
常去之地
ASP.Net
MSDN英文
XML指南
XML的大本营
博客园
正则表达式
我的网站
我网站的Blog(RSS)
友情链接
KimSoft的blog(RSS)
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 如何制作类似msn(QQ)等网页中的拖动效果(二)收藏

新一篇: 关于个人网站never-online.net的code(代码)模块已经初步建成。(图) | 旧一篇: 如何制作类似msn(QQ)等网页中的拖动效果(一)

如何制作类似msn(QQ)等网页中的拖动效果(一)http://blog.csdn.net/BlueDestiny/archive/2006/05/25/755189.aspx

因为篇幅原因,所以得分开来写,这些层次也清晰一些

接着上面的讲。

我们按照上面的思路来一步步的写代码

一、关于坐标event.clientX和event.clientY,而为什么不用event.x和event.y,以后我会写清楚,其实已经写好了的。看情况我就会贴出来。转入正题吧,看看参考
clientX 设置或获取鼠标指针位置相对于窗口客户区域的 x 坐标,其中客户区域不包括窗口自身的控件和滚动条。
clientY 设置或获取鼠标指针位置相对于窗口客户区域的 y 坐标,其中客户区域不包括窗口自身的控件和滚动条。

二、得到拖动物件的坐标。即得到绝对坐标,用以下代码。参数e为拖动物件对象,使用函数时传入。返回的是对象的X坐标、Y坐标、宽度、长度的数组关联。而为什么还要用迭代求offsetLeft和offsetTop呢?因为他们是相对于父坐标而言的,所以必须通过循环来得到绝对定位。
 function Offset(e) {
  var t = e.offsetTop;
  var l = e.offsetLeft;
  var w = e.offsetWidth;
  var h = e.offsetHeight;
  while(e=e.offsetParent) {
   t+=e.offsetTop;
   l+=e.offsetLeft;
  }
  return { t:t, l:l, w:w, h:h }
 };

三、用事件触发程序句柄。
obj.onmouseover=function() {
//to do; never-online Demo
};
obj.onmousedown=function() {
//to do; never-online Demo
}
obj.onmousemove=function() {
//to do; never-online Demo
}
obj.onmouseup=function() {
//to do; never-online Demo
}

四、拖动时得到坐标。
obj.onmousedown=function() {
//当按下时记住原始坐标。never-online Demo
obj.X = event.clientX - Offset(obj).l;
obj.Y = event.clientY - Offset(obj).t;
}
obj.onmousemove=function() {
新坐标减去旧坐标得到当前位置 never-online Demo
obj.style.left = event.clientX - obj.X;
obj.style.top = event.clientY - obj.Y;
}

五、看看完整的简单拖动层代码吧。

第三节将讲述如何一步步的完善拖动层代码。

发表于 @ 2006年05月25日 19:00:00|评论(loading...)|编辑

新一篇: 关于个人网站never-online.net的code(代码)模块已经初步建成。(图) | 旧一篇: 如何制作类似msn(QQ)等网页中的拖动效果(一)

评论

#yinyz 发表于2006-05-26 09:15:00  IP: 219.239.107.*
求文字滚动效果,同时调用动态链接库。

需求:
1,一段文字,存在服务器端,例如tongzhi.txt,要取到客户端,并
以从下向上滚动的方式显示。
2,同时要在文字中加入几个字符串合数字,这几个字符串合数字是
通过调用服务器端的一个动态链接库获得

兄弟没分了,不知怎么能把分弄多些,Csdn太损了。

yinyuzhe@tsinghua.org.cn
yinyz@cesi.ac.cn
#blueDestiny 发表于2006-05-26 18:06:00  IP: 219.159.87.*
你这个是典型的客户端和服务器端异步交互的程序。(如果是实时更新的话)

客户端生成xmlhttpRequest,获取服务器端数据。

再用marquee来显示出来当然也可以用DHTML来实现

不是实时更新的话,也不麻烦。即然是调用DOM+的东西,肯定是有接口的,知道接口了什么都好办了。也是一样的办法。你先写个大概的代码吧,有什么不懂的发email给我:blueDestiny [at] 126.com
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © never-online