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 相关文章推荐
jquery tools之tabs 选项卡/页签
Jul 25 Javascript
jquery validation插件表单验证的一个例子
Mar 03 Javascript
仅IE不支持setTimeout/setInterval函数的第三个以上参数
May 25 Javascript
Javascript继承机制的设计思想分享
Aug 28 Javascript
Vue.js Ajax动态参数与列表显示实现方法
Oct 20 Javascript
JS日期对象简单操作(获取当前年份、星期、时间)
Oct 26 Javascript
JS数组返回去重后数据的方法解析
Jan 03 Javascript
Bootstrap实现的标签页内容切换显示效果示例
May 25 Javascript
vuejs前后端数据交互之从后端请求数据的实例
Aug 11 Javascript
vue实现form表单与table表格的数据关联功能示例
Jan 29 Javascript
Element 默认勾选表格 toggleRowSelection的实现
Sep 04 Javascript
Ant Design的Table组件去除
Oct 24 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 FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
2014/05/04 PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
2017/08/03 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
Laravel timestamps 设置为unix时间戳的方法
2019/10/11 PHP
跨浏览器的设置innerHTML方法
2006/09/18 Javascript
javascript call和apply方法
2008/11/24 Javascript
JavaScript 学习笔记(十六) js事件
2010/02/01 Javascript
基于jquery的实现简单的表格中增加或删除下一行
2010/08/01 Javascript
jQuery中document与window以及load与ready 区别详解
2014/12/29 Javascript
javascript操作符&quot;!~&quot;详解
2015/02/10 Javascript
javascript中递归函数用法注意点
2015/07/30 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
2016/01/29 Javascript
浅谈javascript的call()、apply()、bind()的用法
2016/02/21 Javascript
JS模仿手机端九宫格登录功能实现代码
2016/04/28 Javascript
Bootstrap笔记之缩略图、警告框实例详解
2017/03/09 Javascript
微信小程序 五星评分的实现实例
2017/08/04 Javascript
Angular开发实践之服务端渲染
2018/03/29 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
从头学Python之编写可执行的.py文件
2017/11/28 Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
2018/04/22 Python
python的pandas工具包,保存.csv文件时不要表头的实例
2018/06/14 Python
在Python中将函数作为另一个函数的参数传入并调用的方法
2019/01/22 Python
python中使用while循环的实例
2019/08/05 Python
python set集合使用方法解析
2019/11/05 Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
2019/11/22 Python
Python如何输出百分比
2020/07/31 Python
css3 自定义字体font-face使用介绍
2014/05/14 HTML / CSS
全球性的在线购物网站:Zapals
2017/03/22 全球购物
FirstCry阿联酋儿童和婴儿产品网上购物:FirstCry.ae
2021/02/22 全球购物
阿迪达斯越南官网:adidas越南
2020/07/19 全球购物
《小石潭记》教学反思
2014/02/13 职场文书
市场拓展计划书
2014/05/03 职场文书
电子信息工程专业自荐书
2014/06/24 职场文书
六查六看剖析材料
2014/10/06 职场文书
电影建国大业观后感
2015/06/01 职场文书
教师节祝酒词
2015/08/11 职场文书