常用drag控件
2015-11-22 17:48
183 查看
常用drag控件
可drag的div实例: http://dragsort.codeplex.com/可调的windows弹窗: http://www.5icool.org/demo/2012/a00576/
easyDialog: http://demo.sc.chinaz.com/Files/DownLoad/webjs1/201406/jiaoben2413/
layer: http://layer.layui.com/
简单的弹窗实例1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>弹出层并可拖拽</title> <style> html,body{height:100%;overflow:hidden;} body,div,h2{margin:0;padding:0;} body{font:12px/1.5 Tahoma;} center{padding-top:10px;} button{cursor:pointer;} #overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;opacity:0.5;filter:alpha(opacity=50);display:none;} #win{position:absolute;top:50%;left:50%;width:400px;height:200px;background:#fff;border:4px solid #f90;margin:-102px 0 0 -202px;display:none;} h2{font-size:12px;height:18px;text-align:right;background:#FC0;border-bottom:3px solid #f90;padding:5px;cursor:move;} h2 span{color:#f90;cursor:pointer;background:#fff;border:1px solid #f90;padding:0 2px;} </style> <script> window.onload = function () { var oWin = document.getElementById("win"); var oLay = document.getElementById("overlay"); var oBtn = document.getElementsByTagName("button")[0]; var oClose = document.getElementById("close"); var oH2 = oWin.getElementsByTagName("h2")[0]; var bDrag = false; var disX = disY = 0; oBtn.onclick = function () { oLay.style.display = "block"; oWin.style.display = "block" }; oClose.onclick = function () { oLay.style.display = "none"; oWin.style.display = "none" }; oClose.onmousedown = function (event) { (event || window.event).cancelBubble = true; }; oH2.onmousedown = function (event) { var event = event || window.event; bDrag = true; disX = event.clientX - oWin.offsetLeft; disY = event.clientY - oWin.offsetTop; this.setCapture && this.setCapture(); return false }; document.onmousemove = function (event) { if (!bDrag) return; var event = event || window.event; var iL = event.clientX - disX; var iT = event.clientY - disY; var maxL = document.documentElement.clientWidth - oWin.offsetWidth; var maxT = document.documentElement.clientHeight - oWin.offsetHeight; iL = iL < 0 ? 0 : iL; iL = iL > maxL ? maxL : iL; iT = iT < 0 ? 0 : iT; iT = iT > maxT ? maxT : iT; oWin.style.marginTop = oWin.style.marginLeft = 0; oWin.style.left = iL + "px"; oWin.style.top = iT + "px"; return false }; document.onmouseup = window.onblur = oH2.onlosecapture = function () { bDrag = false; oH2.releaseCapture && oH2.releaseCapture(); }; }; </script> </head> <body> <div id="overlay"></div> <div id="win"><h2><span id="close">×</span></h2></div> <center><button>弹出层</button></center> </body> </html>
简单弹窗2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>JAVASCRIPT弹出层</title> <META http-equiv=Content-Type content="text/html; charset=utf-8"> <style> #popDiv { position: absolute; visibility: hidden; overflow: hidden; border: 2px solid #AEBBCA; background-color: #EEF1F8; cursor: move; padding: 1px; } #popTitle { background: #9DACBF; height: 20px; line-height: 20px; padding: 1px; } #popForm { padding: 2px; } .title_left { font-weight: bold; padding-left: 5px; float: left; } .title_right { float: right; } #popTitle .title_right a { color: #000; text-decoration: none; } #popTitle .title_right a:hover { text-decoration: underline; color: #FF0000; } </style> <script> function showPopup() {//弹出层 var objDiv = document.getElementById("popDiv"); objDiv.style.top = "50px";//设置弹出层距离上边界的距离 objDiv.style.left = "200px";//设置弹出层距离左边界的距离 objDiv.style.width = "300px";//设置弹出层的宽度 objDiv.style.height = "200px";//设置弹出层的高度 //objDiv.style.display = "block"; objDiv.style.visibility = "visible"; } function hidePopup() {//关闭层 var objDiv = document.getElementById("popDiv"); objDiv.style.visibility = "hidden"; } </script> </head> <body> <div id="popDiv"> <div id="popTitle"> <!-- 标题div --> <span class="title_left">修改操作</span> <span class="title_right"><a href="#" onclick="hidePopup();">关闭</a> </span> </div> <div id="popForm"> <!-- 表单div --> <form action="insert_map.jsp" method="post"> <p> ID :<input type="text" name="id" value="0" /> </br> 名 称 :<input type="text" name="name" value="aaa" /> </br> 电压等级 :<input type="text" name="voltage_level" value="110kv" /> </br> 经 度 :<input type="text" name="lon" value="121." /> </br> 纬 度 :<input type="text" name="lat" value="28." /> </br> </p> <input type="submit" value="提交" /> <input type="reset" value="重置" /> <input type="reset" value="取消" onclick="hidePopup()" /> </form> </div> </div> <p> <input name="" type="button" onclick="showPopup()" value="操作" /> </p> <script type="text/javascript"> /*-------------------------鼠标左键拖动---------------------*/ /*--------当不需要实现此功能时,可以将这一部分代码删除------------*/ var objDiv = document.getElementById("popDiv"); var isIE = document.all ? true : false;//判断浏览器类型 document.onmousedown = function(evnt) {//当鼠标左键按下后执行此函数 var evnt = evnt ? evnt : event; if (evnt.button == (document.all ? 1 : 0)) { mouseD = true;//mouseD为鼠标左键状态标志,为true时表示左键被按下 } } objDiv.onmousedown = function(evnt) { objDrag = this;//objDrag为拖动的对象 var evnt = evnt ? evnt : event; if (evnt.button == (document.all ? 1 : 0)) { mx = evnt.clientX; my = evnt.clientY; objDiv.style.left = objDiv.offsetLeft + "px"; objDiv.style.top = objDiv.offsetTop + "px"; if (isIE) { objDiv.setCapture(); //objDiv.filters.alpha.opacity = 50;//当鼠标按下后透明度改变 } else { window.captureEvents(Event.MOUSEMOVE);//捕获鼠标拖动事件 //objDiv.style.opacity = 0.5;//当鼠标按下后透明度改变 } } } document.onmouseup = function() { mouseD = false;//左键松开 objDrag = ""; if (isIE) { objDiv.releaseCapture(); //objDiv.filters.alpha.opacity = 100;//当鼠标左键松开后透明度改变 } else { window.releaseEvents(objDiv.MOUSEMOVE);//释放鼠标拖动事件 //objDiv.style.opacity = 1;//当鼠标左键松开后透明度改变 } } document.onmousemove = function(evnt) { var evnt = evnt ? evnt : event; if (mouseD == true && objDrag) { var mrx = evnt.clientX - mx; var mry = evnt.clientY - my; objDiv.style.left = parseInt(objDiv.style.left) + mrx + "px"; objDiv.style.top = parseInt(objDiv.style.top) + mry + "px"; mx = evnt.clientX; my = evnt.clientY; } } </script> </body> </html>
相关文章推荐
- PowerShell GUI 之使用visual studio创建GUI (1)
- iOS--错误集锦--the operation couldn't be completed. (FBSOpenApplicationErrorDomain error 3.)
- FT Introduction
- 单机千万并发连接实战(修订版)
- 数据库优化小技巧总结
- PHP Echo的一些知识,感觉挺有用的
- javascript学习第1节
- 家庭作业汇总
- 腾讯微信技术总监周颢:一亿用户增长背后的架构秘密
- 杭电1597 find the nth digit
- 跟我一起写 Makefile(第三部分)
- HDU 2059 龟兔赛跑(dp)
- js基础
- linux虚拟机中和主机三种网络连接方式的区别
- NYOJ 21--三个水杯【BFS】
- Android Service的生命周期
- Ubuntu10.04与ARM板开发之间FTP文件传输
- Oracle事务处理
- html常用标签总结
- php模拟http请求 4000