firefox浏览器下javascript 拖动层效果与原理分析代码


Posted in Javascript onDecember 04, 2007

前言

本文主要给大家介绍了关于firefox下js实现拖动层效果的方法,下面话不多说了,来一起看看详细的介绍吧。

firefox下实现可拖动层代码

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>3water.com 拖动层效果代码</title> 
<script> 
 var obj=0; 
 var x=0; 
 var y=0; 
 var ie = (navigator.appVersion.indexOf("MSIE")!=-1);//IE 
 var ff = (navigator.userAgent.indexOf("Firefox")!=-1);//Firefox 
 function find(evt,objDiv){ 
 obj = objDiv 
 if (ff){ 
  x = document.documentElement.scrollLeft + evt.layerX; 
  y = document.documentElement.scrollTop + evt.layerY; 
   
  if (document.documentElement.scrollTop > 0){ 
   y = evt.layerY - document.documentElement.scrollTop; 
  } 
   
  if (document.documentElement.scrollLeft > 0){ 
   x = evt.layerX - document.documentElement.scrollLeft; 
  } 
  } 
 if (ie){ 
  x = document.documentElement.scrollLeft + evt.offsetX; 
  y = document.documentElement.scrollTop + evt.offsetY; 
   
  if (document.documentElement.scrollTop > 0){ 
   y = evt.offsetY - document.documentElement.scrollTop; 
  } 
   
  if (document.documentElement.scrollLeft > 0){ 
   x = evt.offsetX - document.documentElement.scrollLeft; 
  } 
  } 
 } 
 function dragit(evt){ 
 if(obj == 0){ 
  return false 
 } 
 else{ 
  obj.style.left = evt.clientX - x + "px"; 
  obj.style.top = evt.clientY - y + "px"; 
 } 
 } 
</script> 
</head> 
<body style="margin:0" onmousemove="dragit(event)" onmouseup="obj = 0"> 

<div id="aaa" style="background-color:red;width:200pt;height:200pt;position:absolute"> 
<div id="aa" style="width:200pt;height:20pt;background:blue;position:absolute" onmousedown="find(event,document.getElementById('aaa'))"></div> 
</div><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR> 
</body> 
</html>

JavaScript 中一些概念理解 :clientX、clientY、offsetX、offsetY、screenX、screenY

clientX 设置或获取鼠标指针位置相对于窗口客户区域的 x 坐标,其中客户区域不包括窗口自身的控件和滚动条。

clientY 设置或获取鼠标指针位置相对于窗口客户区域的 y 坐标,其中客户区域不包括窗口自身的控件和滚动条。

offsetX 设置或获取鼠标指针位置相对于触发事件的(this)对象的 x 坐标。

offsetY 设置或获取鼠标指针位置相对于触发事件的(this)对象的 y 坐标。

screenX 设置或获取获取鼠标指针位置相对于用户屏幕的 x 坐标。

screenY 设置或获取鼠标指针位置相对于用户屏幕的 y 坐标。

x 设置或获取鼠标指针位置相对于父文档的 x 像素坐标。

y 设置或获取鼠标指针位置相对于父文档的 y 像素坐标。

如图:图片来源于网络

firefox浏览器下javascript 拖动层效果与原理分析代码

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
Nov 06 Javascript
JQuery 国际象棋棋盘 实现代码
Jun 26 Javascript
javascript下高性能字符串连接StringBuffer类
Aug 16 Javascript
jquery获取元素索引值index()示例
Feb 13 Javascript
常见浏览器多长时间会提示“脚本运行时间过长”总结
Apr 29 Javascript
jquery获取文档高度和窗口高度汇总
Jan 25 Javascript
Javascript继承机制详解
May 30 Javascript
bootstrap fileinput插件实现预览上传照片功能
Jan 23 Javascript
vue中v-for加载本地静态图片方法
Mar 03 Javascript
Angular2之二级路由详解
Aug 31 Javascript
javascript实现fetch请求返回的统一拦截
Dec 22 Javascript
解决Vue的项目使用Element ui 走马灯无法实现的问题
Aug 03 Javascript
超棒的javascript页面顶部卷动广告效果
Dec 01 #Javascript
js同时按下两个方向键
Dec 01 #Javascript
document.documentElement &amp;&amp; document.documentElement.scrollTop
Dec 01 #Javascript
jquery api参考 visualjquery 中国线路 速度快
Nov 30 #Javascript
发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser
Nov 30 #Javascript
jquery 指南/入门基础
Nov 30 #Javascript
Prototype1.6 JS 官方下载地址
Nov 30 #Javascript
You might like
《心理测量者3》剧场版动画预告
2020/03/02 日漫
用PHP和ACCESS写聊天室(八)
2006/10/09 PHP
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
php集成动态口令认证
2016/07/21 PHP
php微信开发之图片回复功能
2018/06/14 PHP
YII框架模块化处理操作示例
2019/04/26 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
2019/10/02 PHP
JavaScript 获得选中文本内容的方法
2009/02/15 Javascript
JavaScript与Div对层定位和移动获得坐标的实现代码
2010/09/08 Javascript
jquery radio 操作代码
2011/03/16 Javascript
纯JAVASCRIPT图表动画插件Highcharts Examples
2011/04/16 Javascript
High Performance JavaScript(高性能JavaScript)读书笔记分析
2011/05/05 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
JavaScript清空数组元素的两种方法简单比较
2015/07/10 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
2016/08/17 Javascript
jQuery实现的tab标签切换效果示例
2016/09/05 Javascript
JS中绑定事件顺序(事件冒泡与事件捕获区别)
2017/01/24 Javascript
jQuery实现 上升、下降、删除、添加一行代码
2017/03/06 Javascript
webpack学习教程之前端性能优化总结
2017/12/05 Javascript
vue踩坑记录之数组定义和赋值问题
2019/03/20 Javascript
redux.js详解及基本使用
2019/05/24 Javascript
基于vue实现一个禅道主页拖拽效果
2019/05/27 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
安装Python的web.py框架并从hello world开始编程
2015/04/25 Python
Python实现的用户登录系统功能示例
2018/02/05 Python
Python编程argparse入门浅析
2018/02/07 Python
Python如何获得百度统计API的数据并发送邮件示例代码
2019/01/27 Python
Python中的集合介绍
2019/01/28 Python
pandas删除行删除列增加行增加列的实现
2019/07/06 Python
python实现计算器简易版
2020/12/17 Python
美国新兴城市生活方式零售商:VILLA
2017/12/06 全球购物
飘柔洗发水广告词
2014/03/14 职场文书
知识改变命运演讲稿
2014/05/21 职场文书
2015年教务工作总结
2015/05/23 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书
2016高校自主招生自荐信范文
2016/01/28 职场文书