js漸變彈出視窗和關閉視窗效果
本章節分享一段程式碼例項,它實現了漸變彈出視窗和關閉視窗的效果。
裡面涉及到不少的常用知識,比如事件註冊,還有動態設定元素的樣式,比如尺寸和透明度等。
程式碼如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.51texiao.cn/" /> <title>螞蟻部落</title> <style type="text/css"> body, span, div, td { font-size:12px; line-height:1.5em; color:#849BCA; } #bodyL{ float:left; width:84px; margin-right:2px; } a.od { width:80px; height:25px; line-height:25px; text-align:center; font-weight:bold; border:2px solid #849BCA; display:block; color:#547BC9; float:left; text-decoration: none; margin-top:2px; } a.od:link{ background:#EEF1F8; } a.od:visited{ background:#EEF1F8; } a.od:hover{ background:#EEE; } a.od:active{ background:#EEE; } #fd { width:500px; height:200px; background:#EDF1F8; border:2px solid #849BCA; margin-top:2px; margin-left:2px; float:left; overflow:hidden; position:absolute; left:0px; top:0px; cursor:move; float:left; } .content{ padding:10px; } </style> </head> <body> <div id="bodyL"> <a href="#" class="od"> [開啟層] </a> <a href="#" class="od"> [關閉層] </a> </div> <div id="fd" style="display:none;filter:alpha(opacity=100);opacity:1;"> <div class="content">移動層</div> </div> <script type="text/javascript"> var prox; var proy; var proxc; var proyc; function show(id){/*--開啟--*/ clearInterval(prox); clearInterval(proy); clearInterval(proxc); clearInterval(proyc); var o = document.getElementById(id); o.style.display = "block"; o.style.width = "1px"; o.style.height = "1px"; prox = setInterval(function(){openx(o,500)},10); } function openx(o,x){/*--開啟x--*/ var cx = parseInt(o.style.width); if(cx < x){ o.style.width = (cx + Math.ceil((x-cx)/5)) +"px"; } else{ clearInterval(prox); proy = setInterval(function(){openy(o,200)},10); } } function openy(o,y){/*--開啟y--*/ var cy = parseInt(o.style.height); if(cy < y){ o.style.height = (cy + Math.ceil((y-cy)/5)) +"px"; } else{ clearInterval(proy); } } function closeed(id){/*--關閉--*/ clearInterval(prox); clearInterval(proy); clearInterval(proxc); clearInterval(proyc); var o = document.getElementById(id); if(o.style.display == "block"){ proyc = setInterval(function(){closey(o)},10); } } function closey(o){/*--開啟y--*/ var cy = parseInt(o.style.height); if(cy > 0){ o.style.height = (cy - Math.ceil(cy/5)) +"px"; } else{ clearInterval(proyc); proxc = setInterval(function(){closex(o)},10); } } function closex(o){/*--開啟x--*/ var cx = parseInt(o.style.width); if(cx > 0){ o.style.width = (cx - Math.ceil(cx/5)) +"px"; } else{ clearInterval(proxc); o.style.display = "none"; } } /*滑鼠拖動*/ var od = document.getElementById("fd"); var dx,dy,mx,my,mouseD; var odrag; var isIE = document.all ? true : false; document.onmousedown = function(e){ var e = e ? e : event; if(e.button == (document.all ? 1 : 0)){ mouseD = true; } } document.onmouseup = function(){ mouseD = false; odrag = ""; if(isIE){ od.releaseCapture(); od.filters.alpha.opacity = 100; } else{ window.releaseEvents(od.MOUSEMOVE); od.style.opacity = 1; } } //function readyMove(e){ od.onmousedown = function(e){ odrag = this; var e = e ? e : event; if(e.button == (document.all ? 1 : 0)){ mx = e.clientX; my = e.clientY; od.style.left = od.offsetLeft + "px"; od.style.top = od.offsetTop + "px"; if(isIE){ od.setCapture(); od.filters.alpha.opacity = 50; } else{ window.captureEvents(Event.MOUSEMOVE); od.style.opacity = 0.5; } } } document.onmousemove = function(e){ var e = e ? e : event; if(mouseD==true && odrag){ var mrx = e.clientX - mx; var mry = e.clientY - my; od.style.left = parseInt(od.style.left) +mrx + "px"; od.style.top = parseInt(od.style.top) + mry + "px"; mx = e.clientX; my = e.clientY; } } </script><br/> <div>softwhy.com/</div> </body> </html>
相關文章
- 彈出視窗
- 彈出視窗messagebox
- Prism 彈出視窗
- Go Qt5 建立空白視窗、視窗居中及關閉視窗事件GoQT事件
- 從底部彈出Dialog視窗
- fastadmin 彈出視窗的功能AST
- PyQt5 之關閉視窗QT
- Antd的message.error 彈出的視窗不會關閉的問題Error
- 廣告彈窗/小視窗程式碼
- C# winForm 視窗跳轉後關閉上一個視窗的方法C#ORM
- JavaScript 視窗抖動效果JavaScript
- C#中關閉子視窗而不釋放子視窗物件的方法C#物件
- Qt 讓彈出的視窗居中顯示QT
- 0x02. 處理視窗關閉
- PyQT5之訊號關閉視窗QT
- 警惕遊戲融資視窗正在關閉遊戲
- win10系統老是彈出可選功能怎樣關閉_win10總彈出可選功能視窗的關閉教程Win10
- 短視訊平臺搭建,收到通知後彈出相關提示的彈窗
- win10系統怎麼關閉廣告彈窗 win10關閉惡意彈窗Win10
- WPF中實現彈出進度條視窗
- WPF通過附加屬性控制視窗關閉
- 帶有半透明遮罩層可關閉視窗遮罩
- 如何禁用控制檯視窗的關閉按鈕?
- win10彈出視窗阻止程式在哪_win10視窗阻止程式怎麼設定Win10
- 直播原始碼,懸浮窗滾動漸變色效果原始碼
- 34.qt quick-Popup彈出視窗自定義QTUI
- win10 彈窗廣告關閉方法 win10 彈出廣告怎麼關閉Win10
- 視窗
- JavaScript 點選頁面其他地方關閉視窗JavaScript
- sweetalert載入彈窗完成自動關閉
- 【JSConf EU 2018】有關瀏覽器彈出式視窗的相關探討JS瀏覽器
- js 開啟新視窗方式JS
- react-native 仿原生自定義彈窗|iOS/Android 彈窗效果ReactiOSAndroid
- Qt之彈出介面顯示在父視窗中間QT
- Win10系統阻止彈出OneDrive視窗的方法Win10
- GridView滑鼠經過感知以及點選行彈出視窗View
- win10彈窗熱點資訊怎麼關閉_win10熱點資訊彈窗的關閉方法Win10
- win10快捷鍵關閉當前視窗怎麼操作_win10快捷鍵快速關掉所有視窗方法Win10
- Flink的滾動視窗、會話視窗、滑動視窗及其應用會話