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 相关文章推荐
JS前端框架关于重构的失败经验分享
Mar 17 Javascript
使用js如何实现全选与全不选
Dec 30 Javascript
jQuery学习笔记之jQuery中的$
Jan 19 Javascript
JavaScript常用基础知识强化学习
Dec 09 Javascript
javascript中对Date类型的常用操作小结
May 19 Javascript
jQuery实现限制文本框的输入长度
Jan 11 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
Mar 06 Javascript
认识less和webstrom的less配置方法
Aug 02 Javascript
浅谈js的解析顺序 作用域 严格模式
Oct 23 Javascript
全新打包工具parcel零配置vue开发脚手架
Jan 11 Javascript
vue项目每30秒刷新1次接口的实现方法
Dec 04 Javascript
JS字符串与二进制的相互转化实例代码详解
Jun 28 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
多php服务器实现多session并发运行
2006/10/09 PHP
PHP之生成GIF动画的实现方法
2013/06/07 PHP
php中动态调用函数的方法
2015/03/16 PHP
项目实践之javascript技巧
2007/12/06 Javascript
js 日期转换成中文格式的函数
2009/07/07 Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
2014/01/28 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
jQuery滚动条插件nanoscroller使用指南
2015/04/21 Javascript
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
jQuery Mobile中的button按钮组件基础使用教程
2016/05/23 Javascript
Javascript闭包与函数柯里化浅析
2016/06/22 Javascript
JS获取html元素的标记名实现方法
2016/10/08 Javascript
详解AngularJS 路由 resolve用法
2017/04/24 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
jQuery niceScroll滚动条错位问题的解决方法
2018/02/03 jQuery
JavaScript实现轮播图片完整代码
2020/03/07 Javascript
[03:37]2014DOTA2国际邀请赛 主赛事第一日胜者组TOPPLAY
2014/07/19 DOTA
python中Pycharm 输出中文或打印中文乱码现象的解决办法
2017/06/16 Python
Python 操作文件的基本方法总结
2017/08/10 Python
python 实现在txt指定行追加文本的方法
2018/04/29 Python
浅谈django rest jwt vue 跨域问题
2018/10/26 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
通过 Django Pagination 实现简单分页功能
2019/11/11 Python
Python二维数组实现求出3*3矩阵对角线元素的和示例
2019/11/29 Python
python时间与Unix时间戳相互转换方法详解
2020/02/13 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
浅谈盘点5种基于Python生成的个性化语音方法
2021/02/05 Python
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
韩国江南富人区高端时尚百货商场:Galleria(格乐丽雅)
2018/03/27 全球购物
承诺书怎么写
2014/03/26 职场文书
企业形象策划方案
2014/05/29 职场文书
2015年学校安全管理工作总结
2015/05/11 职场文书
2019最新公司租房合同(例文)
2019/07/18 职场文书
详解Python生成器和基于生成器的协程
2021/06/03 Python
Python合并pdf文件的工具
2021/07/01 Python