可以限定拖動範圍的彈出視窗效果程式碼例項
本章節分享一段非常實用的程式碼例項,它實現了點選彈出居中視窗效果,並且可以實現點選關閉視窗。
最為實用的一點,就是彈出視窗可以隨意拖動,且被限制在文件區域。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <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;} #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 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(){ oWin.style.display="block" }; oClose.onclick=function(){ 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="win"> <h2><span id="close">×</span></h2> </div> <center><button>點選彈出層</button></center> </body> </html>
相關文章
- JavaScript 限定範圍拖動效果JavaScript
- js實現彈出灰色背景能夠拖動的視窗例項程式碼JS
- 可以拖動立方體3D效果程式碼例項3D
- 移動端點選彈出提示視窗程式碼例項
- jQuerydiv元素拖動效果程式碼例項jQuery
- 可以拖動的div塊程式碼例項
- javascript自帶的彈出輸出視窗程式碼例項JavaScript
- div拖動範圍限定在指定元素內
- JavaScript 限定範圍的拖拽效果JavaScript
- jQuery實現的彈出垂直水平居中視窗效果程式碼例項jQuery
- js實現的div拖動效果例項程式碼JS
- 移動端div塊拖動效果程式碼例項
- 點選連結<a>彈出確認視窗程式碼例項
- 關閉瀏覽器視窗彈出提示程式碼例項瀏覽器
- 滑鼠按住拖動具有半透明效果的程式碼例項
- 彈出視窗程式碼
- jQuery實現的自定義可以拖動的彈出層效果jQuery
- 關閉瀏覽器視窗彈出警告視窗程式碼例項瀏覽器
- window.open()實現彈出視窗居中顯示程式碼例項
- js物件導向封裝拖動效果程式碼例項JS物件封裝
- js模擬實現alert()函式彈出警告視窗效果程式碼例項JS函式
- 按住滑鼠可以拖動箭頭旋轉程式碼例項
- 拖動滾動條實現div跟隨效果程式碼例項
- html5拖動上傳圖片效果程式碼例項HTML
- canvas模擬彈幕效果程式碼例項Canvas
- CSS3彈球效果程式碼例項CSSS3
- 點選彈出帶有灰色背景使用者登入視窗程式碼例項
- css3實現的皮球上下彈動效果程式碼例項CSSS3
- 通過拖動將商品新增到購物車效果程式碼例項
- js漸變彈出視窗和關閉視窗效果JS
- SVG拖動繪製矩形程式碼例項SVG
- jQuery彈出帶有遮罩視窗效果jQuery遮罩
- JavaScript 拖拽限定範圍JavaScript
- canvas實現的彈力小球效果程式碼例項Canvas
- 點選彈出帶有遮罩的視窗效果遮罩
- 廣告彈窗/小視窗程式碼
- jQuery獲取視窗尺寸的例項程式碼jQuery
- canvas擺動效果程式碼例項Canvas