亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

原生js實現彈出層登錄拖拽功能

2019-11-19 18:39:43
字體:
來源:轉載
供稿:網友

在WEB開發過程中,總會遇到一些從未接觸過的需求,總是想盡一切辦法去研究,最終實現效果,在實現效果的那一刻成就感爆棚,有木有?

留言墻、彈出框等一些常見地方都有拖拽功能,方便用戶體驗嘛。

實現拖拽功能 ,三個事件 mousemove , mouseup ,mousedown, 偏移量(offsetLeft, offsetTop , offsetWidth ,offsetHeight),窗口坐標位置(clientX ,clientY ) 以及獲取可視區域方法的兼容性處理。

之前做的比較多的留言墻效果時寫過的,這當時做的筆記,現在來整理整理。

JavaScript代碼:

window.onload = function() { var btn = document.getElementsByClassName('login')[0] var close = document.getElementById('close'); var login = document.getElementById('login'); var top = (document.documentElement.clientHeight - 250) / 2; //top值等于(獲取頁面可視區域的寬度 - 登錄框的高度) / 2 var left = (document.documentElement.clientWidth - 350) / 2; var open = document.getElementById('screen'); btn.onclick = function() {  login.style.display = 'block';  login.style.left = left + 'px';  login.style.top = top + 'px';  open.style.display = 'block';  open.style.width = getInner().width + 'px'; //彈出層的寬度等于可視窗口的寬度  open.style.height = getInner().height + 'px'; } close.onclick = function() {  login.style.display = 'none';  open.style.display = 'none'; } window.onresize = function() {   var top = (getInner().height - 250) / 2;   var left = (getInner().width - 350) / 2;   login.style.left = left + 'px';   login.style.top = top + 'px';  }  //跨瀏覽器獲取可視窗口 function getInner() {  if (window.innerWidth != 'undefined') { //IE 不支持返回undefind   return {    width: window.innerWidth,    height: window.innerHeight   }  } else {   return {    width: document.documentElement.clientWidth,    height: document.documentElement.clientHeight   }  } } //實現拖拽功能 ,三個事件 mousemove , mouseup ,mousedown //clientX ,clientY 時鼠標指針相對于整個屏幕的坐標距離 //offsetLeft, offsetTop 獲取當前元素相對于父元素的位置,在這里,父元素是document login.onmousedown = function(e) {   stop(e); //阻止事件默認行為   var e = e || window.event;   var oLeft = e.clientX - login.offsetLeft; //login.offsetLeft 獲取盒子邊框到瀏覽器左邊框的距離   var otop = e.clientY - login.offsetTop;   document.onmousemove = function(e) { //移動的是整體的doucment    var e = e || window.event;    //不能移出可視區域    var left = e.clientX - oLeft;    var top = e.clientY - otop;    //左右    if (left < 0) { //如果盒子距左邊的距離小于零,即超出     left = 0;    } else if (left > getInner().width - login.offsetWidth) { //可視區域的長度,減去盒子的長度 offsetWidth     left = getInner().width - login.offsetWidth;    }    //上下    if (top < 0) {     top = 0;    } else if (top > getInner().height - login.offsetHeight) {     top = getInner().height - login.offsetHeight;    }    login.style.left = left + 'px';    login.style.top = top + 'px';   }   document.onmouseup = function() {    document.onmousemove = null;    document.onmouseup = null;   }  }  //取消默認行為 function stop(e) {  var e = e || window.event;  if (typeof e.preventDefault != 'undefined') {   e.preventDefault(); //W3C  } else {   e.returnValue = false; //IE阻止事件默認行為  } }}

HTML代碼:

<div id="header"> <div class="logo"><img src="images/logo.gif" alt="" /></div> <div class="member">個人中心  <ul class="list">   <li><a href="###">設置</a></li>   <li><a href="###">換膚</a></li>   <li><a href="###">幫助</a></li>   <li><a href="###">退出</a></li>  </ul> </div> <div class="login">登錄</div></div><div id="login"> <h2><img src="images/close.png" alt="" class="close" id="close" />登錄</h2> <div class="user">用戶名<input type="text" name="user" class="text" /></div> <div class="pass">密  碼   <input type="password" name="pass" class="text" /></div> <div class="button">  <input type="button" class="submit" value="" /></div> <div class="other">注冊新用戶 | 忘記密碼</div></div><div id="screen"></div><script type="text/javascript" src="demo.js"></script>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美日韩国产成人| 亚洲精品久久久久中文字幕欢迎你| 精品国产一区二区三区在线观看| 琪琪第一精品导航| 成人免费看吃奶视频网站| 亚洲偷熟乱区亚洲香蕉av| 亲爱的老师9免费观看全集电视剧| 亚洲视频精品在线| 81精品国产乱码久久久久久| 91精品久久久久久久久中文字幕| 欧美激情一二三| 国产日韩欧美成人| 欧美亚洲午夜视频在线观看| 久久99精品国产99久久6尤物| 日韩在线中文视频| 国产精品久久久久久久美男| 久久亚洲国产成人| 亚洲成人精品久久久| 91av国产在线| 4p变态网欧美系列| 国产精品在线看| 久久久久久尹人网香蕉| 国产亚洲人成a一在线v站| 日本老师69xxx| 国产精品无码专区在线观看| 欧美成人免费观看| 国产精品av电影| 欧美成人一区在线| 亚洲精品之草原avav久久| 亚洲国产精品免费| 色哟哟亚洲精品一区二区| 日韩精品免费电影| 国产精品成av人在线视午夜片| 欧美裸身视频免费观看| 中文精品99久久国产香蕉| 伊人久久久久久久久久久久久| 日韩电影在线观看永久视频免费网站| 精品调教chinesegay| 久久久国产精彩视频美女艺术照福利| 亚洲色图35p| 欧美国产日韩中文字幕在线| 久久久亚洲天堂| 日韩精品中文字幕在线播放| 国产va免费精品高清在线| 国产精品91久久| 亚洲综合在线小说| 亚洲精品综合久久中文字幕| 91沈先生在线观看| 成人久久久久久久| 久久精品中文字幕| 中文字幕免费国产精品| www.欧美精品一二三区| 国产精品∨欧美精品v日韩精品| 美女av一区二区| 欧美电影在线免费观看网站| 国产成人午夜视频网址| 久久久久久中文字幕| 久久亚洲国产成人| 91精品视频在线免费观看| 国产精品久久久久久亚洲调教| 在线成人免费网站| 国产欧美日韩精品在线观看| 亚洲新声在线观看| 在线观看成人黄色| 在线播放日韩av| 亚洲精品久久久久久久久久久久| 69视频在线播放| 欧美日韩综合视频网址| 日本高清视频一区| 国产精品美女久久| 国产美女高潮久久白浆| 91精品国产综合久久久久久蜜臀| 久久久久九九九九| 96pao国产成视频永久免费| 日本精品免费观看| 国产成人综合一区二区三区| 欧美噜噜久久久xxx| 亚洲精品videossex少妇| 91欧美视频网站| 久久久国产视频91| 日韩av第一页| 国产精品直播网红| 国产精品99一区| 久久99精品国产99久久6尤物| 日本国产高清不卡| 欧美成年人视频网站| 国产精品日韩精品| 日韩av在线免费播放| 日本一区二区不卡| 欧美日韩成人免费| 九九热这里只有在线精品视| 国产成人av网| 亚洲欧美中文另类| 影音先锋日韩有码| 国产精品白嫩美女在线观看| 一本一本久久a久久精品牛牛影视| 久久久久久久久久久久久久久久久久av| 久久久久久国产| 国产精品91在线| 3344国产精品免费看| 欧美性猛交xxxx黑人| 成人久久一区二区| 最近2019年中文视频免费在线观看| 日本高清视频精品| 久久久影视精品| 色狠狠av一区二区三区香蕉蜜桃| 国产一区玩具在线观看| 国产区亚洲区欧美区| 中文字幕日本精品| 亚洲va久久久噜噜噜| 日本19禁啪啪免费观看www| 中文字幕综合一区| 国产一区二区三区在线视频| 成人免费高清完整版在线观看| 国产精品久久久久久久久久新婚| 久久香蕉国产线看观看网| 日韩视频免费在线| 最好看的2019年中文视频| 日韩av电影在线播放| 97香蕉久久夜色精品国产| 国产日韩欧美中文在线播放| 中文字幕日韩在线播放| 岛国视频午夜一区免费在线观看| 欧美—级a级欧美特级ar全黄| 中文字幕久久久| 日韩在线观看免费网站| 日韩欧美有码在线| 亚洲精品国产综合久久| 国产精品18久久久久久麻辣| 日韩专区在线观看| 欧美成人网在线| 国产日本欧美在线观看| 精品国产乱码久久久久久婷婷| 亚洲影视中文字幕| 国产精品va在线| 91po在线观看91精品国产性色| 亚洲精品456在线播放狼人| 88xx成人精品| 久久精品91久久久久久再现| 91成人在线播放| 精品成人国产在线观看男人呻吟| 日韩av中文字幕在线免费观看| 亚洲国产成人在线视频| 亚洲综合在线中文字幕| 日产精品久久久一区二区福利| 亚洲视频在线观看视频| 在线丨暗呦小u女国产精品| 精品一区二区亚洲| 欧美一区二区三区免费观看| 精品国产视频在线| 国产日韩在线播放| 亚洲在线第一页| 亚洲人成在线观看| 黄色成人av在线| 久国内精品在线| 国产精品欧美一区二区| 曰本色欧美视频在线| 日韩精品免费综合视频在线播放| 久久亚洲影音av资源网| 亚洲图片在区色| 尤物九九久久国产精品的特点| 亚洲最大成人在线| 日韩电影在线观看永久视频免费网站| 日韩美女视频在线观看|