- 浏览: 217232 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
henchong:
如果提示信息全是数字的话,是不会自动换行的,不知道这个该怎么解 ...
用ExtJs为表格单元格增加Tooltips浮动信息 -
李君寻:
自动换行,算是懂了
ColumnLayout的使用方法 -
icrwen:
楼主能解释下为啥要用air技术呢,是不是只用ext就可以了啊
extjs+air开发 -
wenniuwuren:
不能显示图片..
利用session实现一次性验证码 -
追风筝的孩子:
还是没有解决啊
com.ibatis.sqlmap.client.SqlMapException: There is no statement named 语句名 in thi
CSS代码:
#div1 {
background-color:red;
height:150px;
width:150px;
position:absolute;
z-index:10000;
}
#divDropTarget {
background-color:blue;
height:200px;
width:200px;
position:absolute;
left:300px;
}
#div1 {
background-color:red;
height:150px;
width:150px;
position:absolute;
z-index:10000;
}
#divDropTarget {
background-color:blue;
height:200px;
width:200px;
position:absolute;
left:300px;
}
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
JS代码:
JS代码:
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
<script type="text/javascript"><BR>//检测浏览器类型<BR>function Validate_Browser(str){<BR> var sUserAgent = navigator.userAgent;<BR> //先要验证是否是基于KHTML的<BR> var isKHTML = sUserAgent.indexOf("KHTML") >-1<BR> || sUserAgent.indexOf("Konqueror") > -1<BR> || sUserAgent.indexOf("AppleWebKit") > -1;<BR> <BR> switch (str.toUpperCase()){<BR> case "IE":<BR> return sUserAgent.indexOf("MSIE")>-1 && sUserAgent.indexOf("compatible")>-1;<BR> break;<BR> <BR> case "FIREFOX":<BR> return sUserAgent.indexOf("Gecko")>-1 && !isKHTML;<BR> break;<BR> <BR> case "NETSCAPE":<BR> return sUserAgent.indexOf("Mozilla") == 0 <BR> && navigator.appName == "Netscape"<BR> && !isKHTML;<BR> break;<BR> <BR> case "OPERA":<BR> return sUserAgent.indexOf("Opera")>-1;<BR> break;<BR> <BR> case "SAFARI":<BR> return sUserAgent.indexOf("AppleWebKit") > -1 && isKHTML;<BR> break;<BR> <BR> case "KONQUEROR":<BR> return sUserAgent.indexOf("Konqueror") > -1 && isKHTML;<BR> break;<BR> <BR> default: return false;<BR> }<BR>};
<script type="text/javascript">//检测浏览器类型function Validate_Browser(str){ var sUserAgent = navigator.userAgent; //先要验证是否是基于KHTML的 var isKHTML = sUserAgent.indexOf("KHTML") >-1 || sUserAgent.indexOf("Konqueror") > -1 || sUserAgent.indexOf("AppleWebKit") > -1; switch (str.toUpperCase()){ case "IE": return sUserAgent.indexOf("MSIE")>-1 && sUserAgent.indexOf("compatible")>-1; break; case "FIREFOX": return sUserAgent.indexOf("Gecko")>-1 && !isKHTML; break; case "NETSCAPE": return sUserAgent.indexOf("Mozilla") == 0 && navigator.appName == "Netscape" && !isKHTML; break; case "OPERA": return sUserAgent.indexOf("Opera")>-1; break; case "SAFARI": return sUserAgent.indexOf("AppleWebKit") > -1 && isKHTML; break; case "KONQUEROR": return sUserAgent.indexOf("Konqueror") > -1 && isKHTML; break; default: return false; }};
//检测操作系统<BR>function Validate_System(str){<BR> var sUserAgent = navigator.userAgent;<BR> //检测是不是WINDOWS系列的操作系统<BR> var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");<BR> if(str.toUpperCase() == "WIN")<BR> return isWin;<BR> <BR> if(isWin) {<BR> switch (str.toUpperCase()){<BR> case "WIN95":<BR> return sUserAgent.indexOf("Win95") > -1<BR> || sUserAgent.indexOf("Windows 95") >-1;<BR> break;<BR> <BR> case "WIN98":<BR> return sUserAgent.indexOf("Win98") > -1<BR> || sUserAgent.indexOf("Windows 98") >-1;<BR> break;<BR> <BR> case "WINME":<BR> return sUserAgent.indexOf("Win 9x 4.90") > -1<BR> || sUserAgent.indexOf("Windows ME") >-1;<BR> break;<BR> <BR> case "WIN2K":<BR> return sUserAgent.indexOf("Windows NT 5.0") > -1<BR> || sUserAgent.indexOf("Windows 2000") >-1;<BR> break;<BR> <BR> case "WINXP":<BR> return sUserAgent.indexOf("Windows NT 5.1") > -1<BR> || sUserAgent.indexOf("Windows XP") >-1;<BR> break;<BR> <BR> case "WINNT4":<BR> return sUserAgent.indexOf("WinNT") > -1<BR> || sUserAgent.indexOf("Windows NT") >-1<BR> || sUserAgent.indexOf("WinNT4.0") > -1<BR> || sUserAgent.indexOf("Windows NT 4.0") > -1<BR> &&(<BR> !(sUserAgent.indexOf("Win 9x 4.90") > -1<BR> || sUserAgent.indexOf("Windows ME") >-1)<BR> &&<BR> !(sUserAgent.indexOf("Windows NT 5.0") > -1<BR> || sUserAgent.indexOf("Windows 2000") >-1)<BR> &&<BR> !(sUserAgent.indexOf("Windows NT 5.1") > -1<BR> || sUserAgent.indexOf("Windows XP") >-1)<BR> );<BR> break;<BR> <BR> default: return false;<BR> }<BR> }<BR> //检测是不是MAC操作系统<BR> var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC");<BR> if(isMac) {<BR> switch (str.toUpperCase()) {<BR> case "MAC68K":<BR> return sUserAgent.indexOf("Mac_68000") > -1<BR> || sUserAgent.indexOf("68K") > -1;<BR> break;<BR> <BR> case "MACPPC":<BR> return sUserAgent.indexOf("Mac_PowerPC") > -1<BR> || sUserAgent.indexOf("PPC") > -1;<BR> break;<BR> <BR> default: return false;<BR> }<BR> }<BR> <BR> //检测是不是UNIX操作系统<BR> if(str.toUpperCase() == "UNIX")<BR> return (navigator.platform == "Xll") && !isWin && !isMac;<BR>};<BR>//定义 EventUtil 对象<BR>var EventUtil = new Object;
//检测操作系统function Validate_System(str){ var sUserAgent = navigator.userAgent; //检测是不是WINDOWS系列的操作系统 var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows"); if(str.toUpperCase() == "WIN") return isWin; if(isWin) { switch (str.toUpperCase()){ case "WIN95": return sUserAgent.indexOf("Win95") > -1 || sUserAgent.indexOf("Windows 95") >-1; break; case "WIN98": return sUserAgent.indexOf("Win98") > -1 || sUserAgent.indexOf("Windows 98") >-1; break; case "WINME": return sUserAgent.indexOf("Win 9x 4.90") > -1 || sUserAgent.indexOf("Windows ME") >-1; break; case "WIN2K": return sUserAgent.indexOf("Windows NT 5.0") > -1 || sUserAgent.indexOf("Windows 2000") >-1; break; case "WINXP": return sUserAgent.indexOf("Windows NT 5.1") > -1 || sUserAgent.indexOf("Windows XP") >-1; break; case "WINNT4": return sUserAgent.indexOf("WinNT") > -1 || sUserAgent.indexOf("Windows NT") >-1 || sUserAgent.indexOf("WinNT4.0") > -1 || sUserAgent.indexOf("Windows NT 4.0") > -1 &&( !(sUserAgent.indexOf("Win 9x 4.90") > -1 || sUserAgent.indexOf("Windows ME") >-1) && !(sUserAgent.indexOf("Windows NT 5.0") > -1 || sUserAgent.indexOf("Windows 2000") >-1) && !(sUserAgent.indexOf("Windows NT 5.1") > -1 || sUserAgent.indexOf("Windows XP") >-1) ); break; default: return false; } } //检测是不是MAC操作系统 var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC"); if(isMac) { switch (str.toUpperCase()) { case "MAC68K": return sUserAgent.indexOf("Mac_68000") > -1 || sUserAgent.indexOf("68K") > -1; break; case "MACPPC": return sUserAgent.indexOf("Mac_PowerPC") > -1 || sUserAgent.indexOf("PPC") > -1; break; default: return false; } } //检测是不是UNIX操作系统 if(str.toUpperCase() == "UNIX") return (navigator.platform == "Xll") && !isWin && !isMac;};//定义 EventUtil 对象var EventUtil = new Object;
<BR>//添加事件处理<BR>EventUtil.addEventHandler = function (oTarget, sEventType, fnHandler){<BR> if(oTarget.addEventListener) {//firefox<BR> oTarget.addEventListener(sEventType, fnHandler, false);<BR> } else if(oTarget.attachEvent) {//IE<BR> oTarget.attachEvent("on"+sEventType, fnHandler);<BR> } else {//others<BR> oTarget["on" + sEventType] = fnHandler;<BR> }<BR>};
//添加事件处理EventUtil.addEventHandler = function (oTarget, sEventType, fnHandler){ if(oTarget.addEventListener) {//firefox oTarget.addEventListener(sEventType, fnHandler, false); } else if(oTarget.attachEvent) {//IE oTarget.attachEvent("on"+sEventType, fnHandler); } else {//others oTarget["on" + sEventType] = fnHandler; }};
<BR>//删除事件处理<BR>EventUtil.removeEventHandler = function (oTarget, sEventType, fnHandler){<BR> if(oTarget.removeEventListener) {//firefox<BR> oTarget.removeEventListener(sEventType, fnHandler, false);<BR> } else if(oTarget.detachEvent) {//IE<BR> oTarget.detachEvent("on"+sEventType, fnHandler);<BR> } else {//others<BR> oTarget["on" + sEventType] = null;<BR> }<BR>};
//删除事件处理EventUtil.removeEventHandler = function (oTarget, sEventType, fnHandler){ if(oTarget.removeEventListener) {//firefox oTarget.removeEventListener(sEventType, fnHandler, false); } else if(oTarget.detachEvent) {//IE oTarget.detachEvent("on"+sEventType, fnHandler); } else {//others oTarget["on" + sEventType] = null; }};
<BR>//事件格式化,将IE下的对象尽可能的调整为DOM的事件模型<BR>EventUtil.formatEvent = function(oEvent){<BR> var isIE = Validate_Browser("ie");<BR> var isWin= Validate_System("win");<BR> <BR> if(isIE && isWin){<BR> oEvent.charCode = (oEvent.type == "keypress") ? oEvent.keycode : 0;<BR> oEvent.eventPhase = 2;<BR> oEvent.isChar = (oEvent.charCode > 0);<BR> oEvent.pageX = oEvent.clientX + document.body.scrollLeft;<BR> oEvent.pageY = oEvent.clientY + document.body.scrollTop;<BR> <BR> oEvent.preventDefault = function(){<BR> this.returnValue = false;<BR> };<BR> <BR> if(oEvent.type == "mouseout"){<BR> oEvent.relatedTarget = oEvent.toElement;<BR> } else if (oEvent.Type == "mouseover") {<BR> oEvent.relatedTarget = oEvent.fromElement;<BR> }<BR> <BR> oEvent.stopPropagation = function(){<BR> this.cancelBubble = true;<BR> };<BR> <BR> oEvent.target = oEvent.srcElement;<BR> oEvent.time = (new Date()).getTime();<BR> }<BR> return oEvent;<BR>};
//事件格式化,将IE下的对象尽可能的调整为DOM的事件模型EventUtil.formatEvent = function(oEvent){ var isIE = Validate_Browser("ie"); var isWin= Validate_System("win"); if(isIE && isWin){ oEvent.charCode = (oEvent.type == "keypress") ? oEvent.keycode : 0; oEvent.eventPhase = 2; oEvent.isChar = (oEvent.charCode > 0); oEvent.pageX = oEvent.clientX + document.body.scrollLeft; oEvent.pageY = oEvent.clientY + document.body.scrollTop; oEvent.preventDefault = function(){ this.returnValue = false; }; if(oEvent.type == "mouseout"){ oEvent.relatedTarget = oEvent.toElement; } else if (oEvent.Type == "mouseover") { oEvent.relatedTarget = oEvent.fromElement; } oEvent.stopPropagation = function(){ this.cancelBubble = true; }; oEvent.target = oEvent.srcElement; oEvent.time = (new Date()).getTime(); } return oEvent;};
<BR>//获得事件对象<BR>EventUtil.getEvent = function (){<BR> if(window.event){<BR> return this.formatEvent(window.event);<BR> } else {<BR> return EventUtil.getEvent.caller.arguments[0];<BR> }<BR>};<BR>//定义变量,为了记录鼠标位置<BR>var iDiffX = 0;<BR>var iDiffY = 0;
//获得事件对象EventUtil.getEvent = function (){ if(window.event){ return this.formatEvent(window.event); } else { return EventUtil.getEvent.caller.arguments[0]; }};//定义变量,为了记录鼠标位置var iDiffX = 0;var iDiffY = 0;
//鼠标移动事件<BR>function handleMouseMove() {<BR> var oEvent = EventUtil.getEvent();<BR> var oDiv = document.getElementById("div1");<BR>//一定要加单位,奶奶的,不然FIREFOX下无效果<BR> oDiv.style.left = (oEvent.clientX - iDiffX)+"px";<BR> oDiv.style.top = (oEvent.clientY - iDiffY)+"px";<BR>}
//鼠标移动事件function handleMouseMove() { var oEvent = EventUtil.getEvent(); var oDiv = document.getElementById("div1");//一定要加单位,奶奶的,不然FIREFOX下无效果 oDiv.style.left = (oEvent.clientX - iDiffX)+"px"; oDiv.style.top = (oEvent.clientY - iDiffY)+"px";}
//鼠标按下事件<BR>function handleMouseDown() {<BR> var oEvent = EventUtil.getEvent();<BR> var oDiv = document.getElementById("div1");<BR> iDiffX = oEvent.clientX - oDiv.offsetLeft;<BR> iDiffY = oEvent.clientY - oDiv.offsetTop;<BR> <BR> EventUtil.addEventHandler(document.body, "mousemove", handleMouseMove);<BR> EventUtil.addEventHandler(document.body, "mouseup", handleMouseUp);<BR>}
//鼠标按下事件function handleMouseDown() { var oEvent = EventUtil.getEvent(); var oDiv = document.getElementById("div1"); iDiffX = oEvent.clientX - oDiv.offsetLeft; iDiffY = oEvent.clientY - oDiv.offsetTop; EventUtil.addEventHandler(document.body, "mousemove", handleMouseMove); EventUtil.addEventHandler(document.body, "mouseup", handleMouseUp);}
//鼠标抬起时间<BR>function handleMouseUp() {<BR> var oEvent = EventUtil.getEvent();<BR> EventUtil.removeEventHandler(document.body, "mousemove", handleMouseMove);<BR> EventUtil.removeEventHandler(document.body, "mouseup", handleMouseUp);<BR> if(isOverDropTarget(oEvent.clientX, oEvent.clientY)) {<BR> alert("dropped!");<BR> var oDiv = document.getElementById("div1");<BR> var oTarget = document.getElementById("divDropTarget");<BR> oDiv.style.left = oTarget.offsetLeft+"px";<BR> oDiv.style.top = oTarget.offsetTop+"px";<BR> }<BR>}
//鼠标抬起时间function handleMouseUp() { var oEvent = EventUtil.getEvent(); EventUtil.removeEventHandler(document.body, "mousemove", handleMouseMove); EventUtil.removeEventHandler(document.body, "mouseup", handleMouseUp); if(isOverDropTarget(oEvent.clientX, oEvent.clientY)) { alert("dropped!"); var oDiv = document.getElementById("div1"); var oTarget = document.getElementById("divDropTarget"); oDiv.style.left = oTarget.offsetLeft+"px"; oDiv.style.top = oTarget.offsetTop+"px"; }}
//判断是否在层里面<BR>function isOverDropTarget(iX, iY) {<BR> var oTarget = document.getElementById("divDropTarget");<BR> var iX1 = oTarget.offsetLeft;<BR> var iX2 = iX1 + oTarget.offsetWidth;<BR> var iY1 = oTarget.offsetTop;<BR> var iY2 = iY1 + oTarget.offsetHeight;<BR> <BR> return (iX >= iX1 && iX <= iX2 && iY >= iY1 && iY <= iY2);<BR>}<BR></script>
//判断是否在层里面function isOverDropTarget(iX, iY) { var oTarget = document.getElementById("divDropTarget"); var iX1 = oTarget.offsetLeft; var iX2 = iX1 + oTarget.offsetWidth; var iY1 = oTarget.offsetTop; var iY2 = iY1 + oTarget.offsetHeight; return (iX >= iX1 && iX <= iX2 && iY >= iY1 && iY <= iY2);}</script>
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
HTML代码:
HTML代码:
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
<p><div id="div1" onmousedown="handleMouseDown(event)"></div></p><BR><p><div id="divDropTarget"></div></p>
发表评论
-
用js从url中提取request参数
2009-01-12 11:05 1794UrlParm = function () { // ur ... -
实时的监控用户输入多少字节的信息
2009-01-05 12:10 931具体的思路是,获得用户输入信息的容器对象,并且在该对象的onk ... -
去掉window.close()弹出的询问窗口
2009-01-05 12:10 1527<script language="javas ... -
检验密码强度的JS类
2009-01-05 12:09 956<script type="text/java ... -
制作Javascript弹出窗口技巧
2009-01-05 12:09 818经常上网的朋友可能会 ... -
在b/s开发中经常用到的javaScript
2009-01-05 12:08 865在b/s开发中经常用到的j ... -
Javascript 弹出窗口控制和双击滚屏
2009-01-05 12:08 1585说明: 主要使用 Js 的 setInterval() 和 c ... -
js判断中英文字符串长度
2009-01-05 12:07 4091<script language="javas ... -
Javascript压缩混淆工具
2009-01-05 12:07 17031.Dean Edwards 's Packer 在线地址:h ... -
优化JavaScript
2009-01-05 12:06 80019.3.1 下载时间 Web浏览器下载的是JavaScrip ... -
Javascript错误处理之抛出自定义错误
2009-01-05 12:06 1054//抛出自定义异常 function divide1 ... -
Javascript之错误处理篇
2009-01-05 12:06 926//noneXistentFunction 引发错 ... -
javascript学习笔记之表格排序
2009-01-05 12:05 816<script language="javas ... -
模式对话框
2009-01-05 12:05 1462模式对话框在IE下可以 ... -
iFrame高度自适应问题
2009-01-05 12:04 1007父页面代码片段如下: function Fream_Heig ... -
关于动态写入表格问题的扩展
2009-01-05 12:04 781这里有几个问题 1.跨浏览器支持 (水平有限,目前只研究FF ... -
Javascript动态添加数据的解决方案
2009-01-05 12:04 2068//全局变量, 记录信息的 ... -
用JS操作FRAME中的IFRAME及其内容
2009-01-05 12:03 2397问:想通过在地址栏输入一段JS来设置一下页面里某个FRAME中 ... -
Web JS-热键
2009-01-05 12:03 817<script language="" ... -
javascript数组中的splice方法
2009-01-05 12:03 1494splice方法是javascript中数组的一个方法,其功 ...
相关推荐
### JavaScript 学习笔记2:字符串与事件对象总结 #### 字符串操作方法总结 在JavaScript中,字符串是一系列字符的有序集合。JavaScript提供了一系列内置的方法来帮助我们处理字符串,这些方法可以用来检索、替换...
1. **地图搜索**:JavaScript被用于实现交互式地图,如Google Maps,用户可以放大、缩小、拖动地图,查找路径等功能都离不开JavaScript。 2. **网页游戏**:许多在线游戏使用JavaScript创建动态游戏场景,处理用户...
Bootstrap学习笔记之Nestable可拖拽树结构 Bootstrap是一个流行的前端开发框架,它提供了丰富的组件和工具,帮助开发者快速构建响应式、移动优先的网页。在本篇学习笔记中,我们将聚焦于Nestable,这是一个基于...
这篇学习笔记主要涵盖以下几个核心知识点: 1. **API密钥获取**: 在使用谷歌地图API之前,首先需要在Google Cloud Console上创建一个项目,并启用谷歌地图JavaScript API服务。接着,为该项目生成API密钥,这是与...
这篇"qt经典学习笔记"很可能是作者在深入理解QT的过程中,逐步积累并整理的知识结晶。以下将基于这个标题和描述,以及可能包含在文档"qt经典学习笔记1.doc"中的内容,来阐述QT学习的一些关键知识点。 1. **QT基础...
这篇学习笔记涵盖了JS的多个方面,包括验证类、功能类、事件类、网页设计类等多个主题。 在验证类中,JS提供了多种数据类型的验证功能。例如,数字验证包括整数、正数、负数以及范围限制的验证,这些都是在处理用户...
本学习笔记将从基础概念、核心组成部分、工作原理以及实际应用等方面进行深入探讨。** ### 一、基础概念 1. **异步通信**:Ajax的核心特性是异步,即在不刷新整个页面的情况下与服务器交换数据并局部更新页面。 2...
本压缩包中的"AJAX学习笔记.doc"文档,可能包含了Ajax的基础概念、使用示例及进阶技巧,适合初学者参考学习。同时,推荐以下在线资源: - [MDN Web文档](https://developer.mozilla.org/zh-CN/docs/AJAX):详尽的...
### OpenLayer 学习笔记 #### 一、OpenLayer 概述 OpenLayer 是一个用于显示基于网络的地图的高性能开源JavaScript库。它提供了强大的功能来处理各种地理空间数据,并允许开发者构建复杂的地理信息系统(GIS)应用...
"js-ShanGuiGu"很显然是一个学员在学习尚硅谷的JavaScript课程时整理的个人学习笔记,旨在记录和巩固所学知识。 JavaScript与HTML密切相关,HTML(超文本标记语言)是网页内容的基础结构,而JavaScript则赋予这些...
以下是一份详细的Ajax学习笔记,涵盖了其基本概念、工作原理、优势与限制,以及实际应用。 ### 一、基本概念 Ajax的核心是JavaScript对象XMLHttpRequest(XHR),它允许浏览器在后台与服务器进行通信,而不会打断...
本学习笔记将深入探讨如何使用FusionCharts工具进行图表的创建、配置和自定义,以帮助你更好地理解和应用这一工具。 一、FusionCharts概述 FusionCharts是一个基于Web的图表解决方案,它使用SVG(Scalable Vector ...
这篇学习笔记将涵盖MapXtreme的基本概念、核心功能、使用方法以及常见问题解决。 1. **基本概念** - 地图对象:MapXtreme中的核心元素,包括地图、图层、图例、比例尺等。 - 数据源:地图数据的来源,如Shapefile...
这篇“HTML5 Canvas学习笔记(1)处理鼠标事件”着重讲解了如何利用Canvas API来监听和响应鼠标的点击、移动等事件。 Canvas API提供了几个关键的方法来处理鼠标事件,包括`addEventListener`用于绑定事件处理函数,`...
### Dojo学习笔记详解 #### 一、Dojo基本概念 Dojo是一个强大的JavaScript库,旨在简化复杂的Web应用程序开发过程。它由三个主要部分组成:`dojo`、`dijit`和`dojox`。 1. **Dojo基础**: - **概述**:Dojo的...
本学习笔记旨在帮助初学者掌握OpenGL编程的基础知识,尤其针对坐标变换和图形管线有深入的探讨。 首先,OpenGL图形管线是其核心概念之一,它是从几何形状到屏幕像素的处理流程。管线可以分为几个阶段:顶点着色器、...