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 相关文章推荐
javascript入门·动态的时钟,显示完整的一些方法,新年倒计时
Oct 01 Javascript
javascript hashtable实现代码
Oct 13 Javascript
JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
Dec 13 Javascript
JavaScipt中栈的实现方法
Feb 17 Javascript
JavaScript的函数式编程基础指南
Mar 19 Javascript
jQuery仿京东商城楼梯式导航定位菜单
Jul 25 Javascript
Node.js使用gm拼装sprite图片
Jul 04 Javascript
React 组件转 Vue 组件的命令写法
Feb 28 Javascript
JS加密插件CryptoJS实现AES加密操作示例
Aug 16 Javascript
详解vue beforeRouteEnter 异步获取数据给实例问题
Aug 09 Javascript
webpack 最佳配置指北(推荐)
Jan 07 Javascript
Vue-cli 移动端布局和动画使用详解
Aug 10 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
咖啡磨器 如何选购一台适合家用的意式磨豆机
2021/03/05 新手入门
ThinkPHP模板判断输出Empty标签用法详解
2014/06/30 PHP
php自定文件保存session的方法
2014/12/10 PHP
通过php添加xml文档内容的方法
2015/01/23 PHP
PHP框架laravel的.env文件配置教程
2017/06/07 PHP
深入理解PHP+Mysql分布式事务与解决方案
2020/12/03 PHP
Javascript常考语句107条收集
2010/03/09 Javascript
jquery基础教程之数组使用详解
2014/03/10 Javascript
可编辑下拉框的2种实现方式
2014/06/13 Javascript
node.js中的fs.lchown方法使用说明
2014/12/16 Javascript
Node.js程序中的本地文件操作用法小结
2016/03/06 Javascript
jQuery 获取多选框的值及多选框中文的函数
2016/05/16 Javascript
Javascript基础学习笔记(菜鸟必看篇)
2016/07/22 Javascript
JavaScript中document.referrer的用法详解
2017/07/04 Javascript
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
easyUI使用分页过滤器对数据进行分页操作实例分析
2020/06/01 Javascript
vue动态设置页面title的方法实例
2020/08/23 Javascript
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
2015/02/04 Python
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
2015/04/16 Python
python 实现删除文件或文件夹实例详解
2016/12/04 Python
python安装cx_Oracle模块常见问题与解决方法
2017/02/21 Python
python基本语法练习实例
2017/09/19 Python
python决策树之CART分类回归树详解
2017/12/20 Python
Python Grid使用和布局详解
2018/06/30 Python
python模拟菜刀反弹shell绕过限制【推荐】
2019/06/25 Python
用 Django 开发一个 Python Web API的方法步骤
2020/12/03 Python
微软日本官方网站:Microsoft日本
2017/11/26 全球购物
JackJones官方旗舰店:杰克琼斯男装
2018/03/27 全球购物
性能服装:HYLETE
2018/08/14 全球购物
固特异美国在线轮胎店:Goodyear Tire
2019/02/23 全球购物
楼面部长岗位职责范本
2014/02/14 职场文书
计算机网络工程专业职业生涯规划书
2014/03/10 职场文书
对公司合理化的建议书
2014/03/12 职场文书
家庭贫困证明书(3篇)
2014/09/15 职场文书
政府个人对照检查材料思想汇报
2014/10/08 职场文书
表扬稿格式范文
2015/01/16 职场文书