- 浏览: 486615 次
- 性别:
- 来自: 南阳
文章分类
最新评论
-
yuanhongb:
这么说来,感觉CGI和现在的JSP或ASP技术有点像啊
cgi -
draem0507:
放假了还这么勤啊
JXL操作Excel -
chenjun1634:
学习中!!
PHP/Java Bridge -
Jelen_123:
好文章,给了我好大帮助!多谢!
hadoop安装配置 ubuntu9.10 hadoop0.20.2 -
lancezhcj:
一直用job
Oracle存储过程定时执行2种方法(转)
第一个是简单的例子:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>dragTest</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript"> var isDrag=0;//是否可拖动标志,可拖动为1,不可拖动为2 var divAndMouseX;//鼠标落点距离div左上角x坐标的差距 var divAndMouseY;//鼠标落点距离div左上角y坐标的差距 var divMove; //鼠标按下时 function down(div){//鼠标按下 isDrag=1;//将div设置为可拖动 divMove=div;//用于下边拖动时的定位(新的位置的坐标) //首先计算鼠标与拖动对象左上角的坐标差,然后在下边拖动方法中,用鼠标的坐标减坐标差就是新位置的坐标了 divAndMouseX=event.clientX-parseInt(div.style.left); divAndMouseY=event.clientY-parseInt(div.style.top); } function move(){//拖动过程计算div坐标 if(isDrag==1){ divMove.style.left=event.clientX-divAndMouseX; divMove.style.top=event.clientY-divAndMouseY; } } function up(){//放开鼠标将div设置为不可拖动 isDrag=0; } </script> </head> <body> <div id="divtest" onmousedown="down(this)" onmousemove="move()" onmouseup="up()" style="cursor: move; border: 1px dashed blue; background-color: lightblue; width: 50px; height: 50px; position: absolute; left: 100px; top: 50px;"> <table width="100%" height="100%"> <tr> <td> test </td> </tr> </table> </div> </body> </html>
第二个是进阶例子:
<html> <head> <title>Div拖动/调整大小实例</title> </head> <script type="text/javascript"> //保留的位置 var saveLeft,saveTop,saveWidth,saveHeight; var theBody; var eventType; //事件种类, "move"、"resize" var div; //创建并设定div的参数 function setDiv() { //防止重复打开 if (div) { return; } var newLeft,newTop,newWidth,newHeight; theBody = document.body; div = document.createElement("div"); div.id = "panelDiv"; div.style.position = "absolute"; div.style.backgroundColor = "#E5E5E5" div.style.padding = "2px 5px 5px 2px"; div.style.overflow = "hidden"; div.style.zIndex = 1; //设定打开的大小和位置 Function() { var openType = document.getElementById("radio1").checked ? 0 : 1; if (openType == 0) //默认大小默认位置居中打开 { newWidth = "300px"; newHeight = "300px"; newLeft = (theBody.clientWidth - parseInt(newWidth)) / 2 + "px"; newTop = (theBody.clientHeight - parseInt(newHeight)) / 2 + "px"; } else //存储的位置与大小 { newWidth = saveWidth ? saveWidth : "300px"; newHeight = saveHeight ? saveHeight : "300px"; newLeft = saveLeft ? saveLeft : (theBody.clientWidth - parseInt(newWidth)) / 2 + "px"; newTop = saveTop ? saveTop : (theBody.clientHeight - parseInt(newHeight)) / 2 + "px"; } div.style.width = newWidth; div.style.height = newHeight; div.style.left = newLeft; div.style.top = newTop; } div = setChild(div); theBody.appendChild(div); var ipt = document.getElementsByTagName("input"); for(var i = 0; i < ipt.length; i++) { ipt[i].disabled = true; } } function setChild(div) { //可否移动、调整 var isMove = document.getElementById("isMove").checked; var isResize = document.getElementById("isResize").checked; //底色 var cDiv = document.createElement; var backDiv = cDiv("div"); backDiv.style.cssText = "left: 0px; top: 0px; width: 100%; height: 100%; background-color: #F5F5F5;"; div.appendChild(backDiv); //标题 var topDiv = cDiv("div"); topDiv.style.cssText = "left: 2px; top: 2px; width: 100%; height: 30px; position: absolute; background-color: #78ABFF; vertical-align: middle; z-index: 5"; if (isMove) { topDiv.style.cursor = "move"; topDiv.setAttribute("onmousedown", function(){setMove(this)}); } else { topDiv.style.cursor = "default"; } topDiv.innerHTML = "<span style='top: 5px; left:5px; font-size: 20px; font-weight: bold; color: #102548; position: relative;' onselectstart='return false'>标题栏</span>"; div.appendChild(topDiv); //关闭按钮 var closeDiv = cDiv("div"); closeDiv.style.cssText = "right: 8px; top : 5px; width: 24px; height: 24px; position: absolute; background-color: #E4EEFF; border: #2D66C4 1px solid; text-align: center; vertical-align: middle; cursor: pointer; z-index: 10"; closeDiv.setAttribute("onclick", function() {eCloseDiv()}); closeDiv.innerHTML = "<span style='font-size: 20px; font-weight: bold; color: #0E377A;' title='Esc快捷键'>×</span>"; div.appendChild(closeDiv); //内容 var contentDiv = cDiv("div"); contentDiv.style.cssText = "left: 2px; top: 35px; width: 100%; position: absolute; overflow: auto"; contentDiv.style.height = (parseInt(div.style.height) - 40) + "px"; contentDiv.innerHTML = "<table style='width: 100%; height: 100%; text-align: center; vertical-align: hidden'><tr><td><p>这里是内容区!</p><a href='javascript:saveDiv()'>保留这个位置和大小</a></td></tr></table>"; div.appendChild(contentDiv); //调整大小 var reDiv = cDiv("div"); reDiv.style.cssText = "right: 0px; bottom: 0px; width: 5px; height: 5px; position: absolute;"; if (isResize) { reDiv.style.cursor = "se-resize"; reDiv.setAttribute("onmousedown", function(){setResize(this)}); } else { reDiv.style.cursor = "default"; } div.appendChild(reDiv); return div; } var oX, oY, oLeft, oTop, oWidth, oHeight; //存储原始移动前的位置 var divClone, oDiv; //克隆的节点和原始节点 var oTime; //clone拖移的节点 function setMove(obj) { if (event.button == 1) { if (oTime) { clearTimeout(oTime); divClone.parentNode.removeChild(divClone); } oDiv = obj.parentNode; divClone = oDiv.cloneNode(true); divClone.style.filter = "Alpha(opacity=50)"; divClone.childNodes[1].setAttribute("onmousemove", function(){startMove(this)}); divClone.childNodes[1].setAttribute("onmouseup", function(){endMove()}); oX = parseInt(event.clientX); oY = parseInt(event.clientY); oLeft = parseInt(divClone.style.left); oTop = parseInt(divClone.style.top); document.body.appendChild(divClone); divClone.childNodes[1].setCapture(); eventType = "move"; } } //拖移 function startMove(obj) { if (eventType == "move" && event.button == 1) { var moveDiv = obj.parentNode; moveDiv.style.left = (oLeft + event.clientX - oX) + "px"; moveDiv.style.top = (oTop + event.clientY - oY) + "px"; } } //拖移结束调用动画 function endMove() { if (eventType == "move") { divClone.childNodes[1].releaseCapture(); move(parseInt(divClone.style.left), parseInt(divClone.style.top)); eventType = ""; } } //移动的动画 function move(aimLeft, aimTop) { var nowLeft = parseInt(oDiv.style.left); var nowTop = parseInt(oDiv.style.top); var moveSize = 30; if (nowLeft > aimLeft + moveSize || nowLeft < aimLeft - moveSize || nowTop > aimTop + moveSize || nowTop < aimTop - moveSize) { oDiv.style.left = aimLeft > nowLeft + moveSize ? (nowLeft + moveSize) + "px" : aimLeft < nowLeft - moveSize ? (nowLeft - moveSize) + "px" : nowLeft + "px"; oDiv.style.top = aimTop > nowTop + moveSize ? (nowTop + moveSize) + "px" : aimTop < nowTop - moveSize ? (nowTop - moveSize) + "px" : nowTop + "px"; oTime = setTimeout("move(" + aimLeft + ", " + aimTop + ")", 1); } else { oDiv.style.left = divClone.style.left; oDiv.style.top = divClone.style.top; divClone.parentNode.removeChild(divClone); divClone == null; } } //clone调整大小的节点 function setResize(obj) { if (event.button == 1) { if (oTime) { clearTimeout(oTime); divClone.parentNode.removeChild(divClone); } oDiv = obj.parentNode; divClone = oDiv.cloneNode(true); divClone.style.filter = "Alpha(opacity=50)"; divClone.childNodes[4].setAttribute("onmousemove", function(){startResize(this)}); divClone.childNodes[4].setAttribute("onmouseup", function(){endResize()}); oX = parseInt(event.clientX); oY = parseInt(event.clientY); oWidth = parseInt(divClone.style.width); oHeight = parseInt(divClone.style.height); document.body.appendChild(divClone); divClone.childNodes[4].setCapture(); eventType = "resize"; } } //拖动调整大小 function startResize(obj) { if (eventType == "resize" && event.button == 1) { var nX = event.clientX; var nY = event.clientY; if (nX > oX - oWidth && nY > oY - oHeight + 40) { var resizeDiv = obj.parentNode; resizeDiv.style.width = (oWidth + event.clientX - oX) + "px"; resizeDiv.style.height = (oHeight + event.clientY - oY) + "px"; resizeDiv.childNodes[3].style.height = (parseInt(resizeDiv.style.height) - 40) + "px"; } } } //调整大小结束 function endResize() { if (eventType == "resize") { divClone.childNodes[4].releaseCapture(); resize(parseInt(divClone.style.width), parseInt(divClone.style.height)); eventType = ""; } } //调整大小的动画 function resize(aimWidth, aimHeight) { var nowWidth = parseInt(oDiv.style.width); var nowHeight = parseInt(oDiv.style.height); var resizeSize = 30; if (nowWidth > aimWidth + resizeSize || nowWidth < aimWidth - resizeSize || nowHeight > aimHeight + resizeSize || nowHeight < aimHeight - resizeSize) { oDiv.style.width = aimWidth > nowWidth + resizeSize ? (nowWidth + resizeSize) + "px" : aimWidth < nowWidth - resizeSize ? (nowWidth - resizeSize) + "px" : nowWidth + "px"; oDiv.style.height = aimHeight > nowHeight + resizeSize ? (nowHeight + resizeSize) + "px" : aimHeight < nowHeight - resizeSize ? (nowHeight - resizeSize) + "px" : nowHeight + "px"; oDiv.childNodes[3].style.height = (parseInt(oDiv.style.height) - 40) + "px"; oTime = setTimeout("resize(" + aimWidth + ", " + aimHeight + ")", 1); } else { oDiv.style.width = divClone.style.width; oDiv.style.height = divClone.style.height; oDiv.childNodes[3].style.height = (parseInt(oDiv.style.height) - 40) + "px"; divClone.parentNode.removeChild(divClone); divClone == null; } } //关闭DIV function eCloseDiv() { if (div) { div.parentNode.removeChild(div); var ipt = document.getElementsByTagName("input"); for(var i = 0; i < ipt.length; i++) { ipt[i].disabled = false; } div = null; } } //保留位置和大小 function saveDiv() { if (div) { saveLeft = div.style.left; saveTop = div.style.top; saveWidth = div.style.width; saveHeight = div.style.height; alert("保留成功!"); } } //快捷键 document.onkeydown = function() { event.keyCode == 27 ? eCloseDiv() : null; //Esc快捷键 event.ctrlKey && (event.keyCode == 83 || event.keyCode == 115) ? saveDiv() : null; //ctrl+s保存位置 event.ctrlKey && event.keyCode == 13 ? setDiv() : null //ctrl+enter打开Div !event.ctrlKey && (event.keyCode == 37 || event.keyCode == 38 || event.keyCode == 39 || event.keyCode == 40) ? arrowMove(event.keyCode) : null; event.ctrlKey && (event.keyCode == 37 || event.keyCode == 38 || event.keyCode == 39 || event.keyCode == 40) ? arrowResize(event.keyCode) : null; } //上下左右箭头移动div function arrowMove(eKeyCode) { if (div) { var isMove = document.getElementById("isMove").checked; if (isMove) { switch(eKeyCode) { case 37: div.style.left = (parseInt(div.style.left) - 1) + "px"; //left break case 38: div.style.top = (parseInt(div.style.top) - 1) + "px"; //up break case 39: div.style.left = (parseInt(div.style.left) + 1) + "px"; //right break case 40: div.style.top = (parseInt(div.style.top) + 1) + "px"; //down break } } } } //ctrl+上下左右箭头调整div大小 function arrowResize(eKeyCode) { if (div) { var isResize = document.getElementById("isResize").checked; if (isResize) { switch(eKeyCode) { case 37: div.style.width = (parseInt(div.style.width) - 1) + "px"; //left break case 38: div.style.height = (parseInt(div.style.height) - 1) + "px"; //up break case 39: div.style.width = (parseInt(div.style.width) + 1) + "px"; //right break case 40: div.style.height = (parseInt(div.style.height) + 1) + "px"; //down break } } } } </script> <body> <p> <input type="checkbox" id="isMove" /><label for="isMove">可移动</label> <input type="checkbox" id="isResize" /><label for="isResize">可调整大小</label> </p> <p> <input type="radio" name="radio" id="radio1" checked /><label for="radio1">默认居中打开</label> <input type="radio" name="radio" id="radio2" /><label for="radio2">保留位置上打开</label> </p> <p><a href="javascript:setDiv()">打开DIV</a></p> <p style="font-weight: bold">操作说明:</p> <ol> <li> 选中复选框(可移动、可调整大小)后,打开的DIV具有移动/调整大小的功能(此时移动/调整大小快捷键可使用);<br> 反之,不可移动/调整大小(此时移动/调整大小快捷键无效) </li> <li> 单选框默认居中打开选中,无论有无保存DIV位置和大小均以默认位置及大小打开DIV </li> <li> 单选框保留位置上打开选中,如果未发现保存记录以默认方式打开,否则以保存的位置及大小打开 </li> <li> 如果选中可移动后,鼠标经过标题位置(蓝色背景)处会变成移动的图标,此时按住鼠标左键会产生一个半透明的DIV,按住鼠标不动拉动此半透明DIV会跟随移动,释放鼠标左键后会产生一段原始位置移动至半透明位置的动画,当动画重叠时,半透明的DIV将回收。 </li> <li> 如果选中可调整大小后,鼠标经过整个DIV的最右下角处会变成伸缩的图标,此时按住鼠标左键会产生一个半透明的DIV,按住鼠标不动拉动此半透明DIV会随着移动而调整大小,释放鼠标左键后会产生一段原始大小伸缩至半透明大小的动画,当动画重叠时,半透明的DIV将回收。 </li> <li> DIV的右上角有关闭按钮,按下后DIV将remove </li> </ol> <p style="font-weight: bold"> 快捷键说明: <ol> <li> Ctrl + Enter : 打开div </li> <li> Ctrl + s(大小写均可) : 保存div的大小和位置 </li> <li> 上下左右箭头 : 轻移div位置 </li> <li> Ctrl + 上下左右箭头 : 轻调div大小 </li> <li> Esc : 关闭Div </li> </ol> </p> </body> </html>
发表评论
-
Tomcat启动内存设置
2015-10-20 15:40 702Tomcat的启动分为startupo.bat启动和注册为w ... -
Java串口包Javax.comm的安装
2015-10-12 16:32 704安装个java的串口包安装了半天,一直找不到串口,现在终于搞 ... -
js iframe 打印 打印预览 页眉页脚的设立
2015-06-08 15:21 1195js iframe 打印 打印预览 页眉页脚的设置 1、 ... -
不同小图标的编码网页中的大于号,小于号,应该用编码来代替,HTML中特殊字符和与之对应的ASCII代码
2015-06-08 14:44 3305上面两个符号的HTML代 ... -
利用html5调用本地摄像头拍照上传图片
2015-05-18 09:36 2615测试只有PC上可以,手机上不行 <!DOCTYPE ... -
必须Mark!最佳HTML5应用开发工具推荐
2015-05-15 22:50 973摘要:HTML5自诞生以来,作为新一代的Web标准,越来 ... -
Mobl试用二
2015-05-13 14:28 652最近有空又看了一下Mobl的一些说语法,备忘一下: 1 ... -
Nginx安装部署
2015-05-08 19:59 487Nginx ("engine x") 是 ... -
Nginx配置文件详细说明
2015-05-08 19:58 621在此记录下Nginx服务器nginx.conf的配置文件说明 ... -
table中的超长字符串用省略号表示的css样式
2015-05-06 15:54 1350<style> table td{white- ... -
js实现页面打印功能实例代码(附去页眉页脚功能代码)
2015-04-19 18:03 618<html> <head>< ... -
javascript:window.print() 打印
2015-04-17 17:03 6491.JavaScript打印<input id=&qu ... -
网页设置A4大小
2015-04-16 19:53 1234在公制长度单位与屏幕分辨率进行换算时,必须用到一个DPI(D ... -
表格设置边框 效果
2015-04-16 18:22 639第1种对表格设置边框 效果 站名 网址 说明 ... -
Web前端开发人员实用Chrome插件收集
2015-03-24 15:57 1389越来越多的前端开发人员喜欢在Chrome里开发调试代码,Ch ... -
win2003系统system占用80端口的解决办法
2015-01-26 12:28 2674本人一直都是用APMServ在winxp中搭建本地服务器测试 ... -
win7系统如何在防火墙里开放端口
2015-01-15 15:39 583依次点击“开始”—“控制面板”—“windows防火墙” ... -
80端口被system 占用解决方法
2015-01-15 15:38 719今天启动Apache的时候老是提示失败,很简单,使用 net ... -
[Android算法] Android蓝牙开发浅谈
2014-12-15 15:27 676对于一般的软件开发人 ... -
文字超出隐藏显示省略号
2014-10-22 22:11 995单行文本 [编辑]demo .ellipsis1{ ...
相关推荐
总结来说,"Ext div拖动demo"是一个使用Ext JS库和JavaScript实现的<div>元素上下拖动的示例,它展示了如何利用Web技术创建动态、交互式的用户界面。通过理解并应用这些知识,开发者可以提升Web应用的用户体验,并在...
本示例涉及的主题是“js控制多个div拖拽和拖动、且能保存数据至cookie、数据库、xml”,这是一项实用技术,尤其适用于创建交互性强的Web 2.0应用程序。下面将详细介绍这一主题的相关知识点。 首先,让我们了解...
在网页设计和开发中,"div 拖动 交换位置"是一个常见的交互功能,它允许用户通过拖动页面上的 div 元素来改变它们的位置,实现动态布局。这一功能通常涉及HTML、CSS以及JavaScript(可能包括jQuery或其他库)等技术...
总的来说,“net Div”的例子可能是关于如何使用HTML `div` 元素结合CSS和JavaScript实现响应式、可拖动的网络布局。这种技术广泛应用于现代网页设计,以提供良好的用户体验和适应各种设备的界面。通过深入学习和...
在这个例子中,`#draggable`的div就可以被拖动了。 **总结** 以上就是关于“jQuery弹出div层窗口、div屏幕居中、背景滤镜效果和div拖拽效果”的核心知识点。通过熟练掌握这些技巧,开发者可以创建更富有互动性和...
在实现div拖动排序的过程中,我们主要利用jQuery的事件绑定和DOM操作功能。 1. **基础准备**:在HTML文件(如index.html)中,我们需要创建一系列可以拖动的div元素,并为它们添加唯一的ID或类名以便后续处理。同时...
在这个例子中,我们设置了一个id为"draggable"的div,并为其设置了可拖动属性`draggable="true"`,同时通过CSS赋予它一定的样式,使其易于识别。 接下来,我们需要编写JavaScript代码(这里以drag.js为例)来处理...
可拖动的div页面,可以做网站主页等页面
在这个例子中,div元素既是可拖动的元素,也可能作为接收拖放的区域,具体取决于你的应用需求。 为了实现div的拖动排序,我们需要做以下几步: 1. **选择元素**:首先,我们需要用jQuery选择那些可以被拖动的div...
在描述中提到的两个例子,"拖动div 效果好.html"和"拖动div 效果差.html",可能分别展示了正确和错误的事件处理方式,以此对比和突出正确的实践。而"必看 对主要问题的简单阐释.txt"文件可能是对这个问题的详细解释...
然后,我们为这个div添加拖动事件处理,实现与div拖动类似的功能。 通过以上代码,我们可以实现div和iframe的拖动功能。在实际项目中,可能需要进一步优化,比如添加边界检测以限制元素的拖动范围,或者使用CSS3的...
在这个例子中,当用户点击“添加新div”按钮时,会在id为"container"的div内创建一个新的div,并通过`draggable()`使其可拖动。 **自定义div大小** 在HTML中,我们可以直接设置div的宽度和高度。例如: ```html ...
在网页开发中,动态交互效果往往能...本篇文章将深入讲解如何利用JQuery实现DIV元素的拖拽功能。 首先,确保在项目中引入了JQuery库。你可以通过CDN链接或者本地引入的方式添加JQuery到HTML文件中。例如: ```html ...
这个“JS 拖拽例子”是一个教学实例,旨在展示如何在网页上实现拖放操作。下面我们将详细讨论拖放的基本原理和实现步骤。 首先,拖放功能涉及到两个主要事件:`dragstart` 和 `drop`。当用户开始拖动一个元素时,会...
**PHP + MySQL + JS 拖拽Div实例详解** 在Web开发中,用户交互性是提升用户体验的关键因素之一。拖拽功能(Drag and Drop)可以让用户通过鼠标直接操作页面元素,增强了网页的互动性。本实例将介绍如何使用PHP、...
"基于EXT的div拖动"是指利用EXTJS这一强大的JavaScript框架来实现这种功能。EXTJS是一个用于构建富客户端Web应用的前端框架,它提供了丰富的组件库、数据绑定机制以及强大的布局管理,使得开发者可以方便地创建出...
以上就是使用纯JavaScript实现div拖动功能的基本步骤。在实际应用中,你可能还需要考虑更多细节,如阻止默认的文本选中行为、处理触摸设备的拖动等。此外,也可以借助像jQuery UI这样的库,它们提供了封装好的拖动...
在"JS做的隐藏与显示DIV可拖动弹出层"这个实例中,我们将探讨如何利用JavaScript来创建一个可拖动的弹出层,并控制其显示与隐藏。 首先,让我们理解`div`层的隐藏与显示。在HTML中,我们创建一个`div`元素并为其...
在这个例子中,我们创建了一个id为"draggable"的div,并使用jQuery监听鼠标事件。当鼠标按下时,我们记录div的初始位置和鼠标的位置。在鼠标移动时,我们根据鼠标的新位置更新div的位置。当鼠标松开时,结束拖动状态...
在"jquery巧妙使用div例子"中,jQuery被用来处理div元素的行为,如监听用户的交互,改变div的状态,并执行相应的动画效果。 其次,jFrame是一个基于jQuery的插件,它提供了创建窗口式界面的能力。jFrame模仿了桌面...