下载首页 | 资讯中心 | 文章分类 | 最近更新 | 排 行 榜 | 国产软件 | 国外软件 | 绿色软件 | 汉化补丁 | |
文章搜索: 分类 关键字
您的位置:首页编程开发网络编程 → 用Javascript实现网页表单鼠标拖拽
用Javascript实现网页表单鼠标拖拽
来源:太平洋电脑网 作者:雪山老人 加入时间:2006-10-27 访问次数:26 [  ]

  3、我们创建了全局变量DragDrops与全局函数CreateDragContainer.DragDrops包含了一系列相对彼此的容器.任何参数(containers)将通过CreatedcragContainer进行重组与序列化,这样可以自由的移动.CreateDragContainer函数也将item进行绑定与设置属性.

  4、现在我们的代码知道每个item的加入,当我们移动处mouseMove,mouseMove函数首先会设置变量target,鼠标移动在上面的item,如果这个item在容器中(checked with getAttribute):

  • 运行一小段代码来改变目标的样式.创造rollover效果
  • 检查鼠标是否没有放开,如果没有
    • 设置curTarget代表当前item
    • 记录item的当前位置,如果需要的话,我们可以将它返回
    • 克隆当前的item到dragHelper中,我们可以移动带阴影效果的item.
    • item拷贝到dragHelper后,原有的item还在鼠标指针下,我们必须删除掉dragObj,这样脚本起作用,dragObj被包含在一个容器中.
    • 抓取容器中所有的item当前坐标,高度/宽度,这样只需要记录一次,当item被drag时,每随mouse移动,每移钟就会记录成千上万次.
  • 如果没有,不需要做任何事,因为这不是一个需要移动的item

  5、检查curTarget,它应该包含一个被移动的item,如果存在,进行下面操作:

  • 开始移动带有阴影的item,这个item就是前文所创建的
  • 检查每个当前容器中的container,是否鼠标已经移动到这些范围内了
    • 我们检查看一下正在拖动的item是属于哪个container
    • 放置item在一个container的某一个item之前,或者整个container之后
    • 确认item是可见的
  • 如果鼠标不在container中,确认item是不可见了.

  6、剩下的事就是捕捉mouseUp的事件了

实现一个拖动的全代码:

  点击这里运行代码

  你现在拥有了拖拽的所有东西.

  下面的三个demo是记录事件历史.当你的鼠标在item上移动,将记录所生的事件,如果你不明白可以尝试一下鼠标的划过或者拖动,看有什么发生.

  点击这里运行代码

  关于译者:
  雪山老人,lamp程序员,web开发者,你可以访问sohotx.com来了解他!

  关于作者:
  Mark Kahn是一个web开发者与DBA.你可以访问他的主页联系他!

上一页 [1] [2] [3] [4] 下一页
评论人 评论内容摘要(共 0 条,查看完整内容) 得分 0 发表时间
 热点文章
·惊爆!《暗黑破坏神3》将对应全平台
·《荣誉勋章:太平洋之战》中文版上市
·MediaShow魅力四射快速制作音乐电子相册
·《花木兰》完美流程攻略
·轻松可爱 最新10大Q版网络游戏推荐
·2006年暑期新宣布免费网络游戏一览
·photoshop制作水晶球中的精灵
·NVIDIA发布Forceware 93.71 WHQL驱动
·经验分享 微软Word2007实用技巧两则
·国内新记录产生 1M super pi运算仅用9秒
 推荐文章
·微软高官爆料:欧盟对Vista哪些功能不安
·在Google Talk上与QQ、MSN好友聊天
·Word使用过程中的常见问题及其解决
·手把手教你内存终极变相“造假”大法
·NVIDIA联手海盗船 推出自动超频内存
·Windows Vista特殊功能介绍:语音识别
·公安机关检验软件样本 流氓软件制造者面临坐牢危..
·比英特尔UMPC还要小 移动PC新品推出
·性感暴力完美结合 御姐武戏X新画面
·盖茨访谈:我就是微软里的兼职员工
WinXP下载基地 版权所有 Copyright© 2006-2008 WWW.WinXpd.COM, All Rights Reserved. 页面维护: WinXP下载基地(WinXP基D)