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 相关文章推荐
解析John Resig Simple JavaScript Inheritance代码
Dec 03 Javascript
jquery form 隐藏的input 选择
Apr 29 Javascript
javascript 寻找错误方法整理
Jun 15 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
Aug 28 Javascript
基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
Jan 05 Javascript
vue插件tab选项卡使用小结
Oct 27 Javascript
详解关于react-redux中的connect用法介绍及原理解析
Sep 11 Javascript
解决vue-cli脚手架打包后vendor文件过大的问题
Sep 27 Javascript
vue登录页面cookie的使用及页面跳转代码
Jul 10 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
Nov 04 Javascript
基于js实现的图片拖拽排序源码实例
Nov 04 Javascript
vue-calendar-component 封装多日期选择组件的实例代码
Dec 04 Vue.js
超棒的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
作为PHP程序员应该了解MongoDB的五件事
2013/06/03 PHP
CI框架数据库查询缓存优化的方法
2016/11/21 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
jQuery帮助之筛选查找 children([expr])
2011/01/31 Javascript
jQuery-onload让第一次页面加载时图片是淡入方式显示
2012/05/23 Javascript
js使用数组判断提交数据是否存在相同数据
2013/11/27 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
2014/07/18 Javascript
jQuery EasyUI 入门必看
2016/06/03 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
2016/08/01 Javascript
微信小程序实战之自定义抽屉菜单(7)
2017/04/18 Javascript
js实现京东轮播图效果
2017/06/30 Javascript
vue translate peoject实现在线翻译功能【新手必看】
2018/06/07 Javascript
JS call()及apply()方法使用实例汇总
2020/07/11 Javascript
使用Element的InfiniteScroll 无限滚动组件报错的解决
2020/07/27 Javascript
jQuery实现回到顶部效果
2020/10/19 jQuery
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
2014/06/10 Python
cProfile Python性能分析工具使用详解
2019/07/22 Python
django 环境变量配置过程详解
2019/08/06 Python
Python接口自动化判断元素原理解析
2020/02/24 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
2020/05/26 Python
python 列表推导和生成器表达式的使用
2021/02/01 Python
HTML5之SVG 2D入门12—SVG DOM及DOM操作介绍
2013/01/30 HTML / CSS
美国零售商店:Blue&Cream
2017/04/07 全球购物
美国最古老的精致书写工具制造商:A.T. Cross(高仕)
2018/01/30 全球购物
DELPHI面试题研发笔试试卷
2015/11/08 面试题
九年级语文教学反思
2014/02/04 职场文书
给全校老师的建议书
2014/03/13 职场文书
设备管理实施方案
2014/05/31 职场文书
小学生三分钟演讲稿
2014/08/18 职场文书
会议欢迎词
2015/01/23 职场文书
2015年小学中秋节活动总结
2015/03/23 职场文书
2015年幼儿园师德师风建设工作总结
2015/10/23 职场文书
golang DNS服务器的简单实现操作
2021/04/30 Golang
详细谈谈MYSQL中的COLLATE是什么
2021/06/11 MySQL
springboot layui hutool Excel导入的实现
2022/03/31 Java/Android
Python实现科学占卜 让视频自动打码
2022/04/09 Python