国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js實現(xiàn)登錄框鼠標拖拽效果

2019-11-19 17:13:21
字體:
來源:轉載
供稿:網(wǎng)友

效果圖:

代碼如下:

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>登錄框鼠標拖拽效果</title> <style type="text/css"> body {  background: url("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1488778794834&di=e97c96dfe7860297d1968c30adc862a2&imgtype=0&src=http%3A%2F%2Fpic1.5442.com%3A82%2F2015%2F0409%2F01%2F15.jpg%2521960.jpg") no-repeat top center #ffffff;  background-size: 100%;  padding: 0;  margin: 0;  font-size: 12px;  font-family: "微軟雅黑", sans-serif; } .ui-dialog {  width: 380px;  position: absolute;  z-index: 9000;  top: 100px;  left: 100px;  border: 1px solid #d5d5d5;  background-color: #ffffff;  /*display: none;*/ } .ui-dialog-title {  height: 48px;  line-height: 48px;  padding-left: 20px;  color: #535353;  font-size: 16px;  background-color: #f5f5f5;  border-bottom: 1px solid #efefef;  cursor: move; } .ui-dialog-title-closebutton {  width: 16px;  height: 16px;  display: inline-block;  position: absolute;  right: 20px;  color: #000;  text-decoration: unset; } .ui-dialog-title-closebutton:hover {  color: #4ca8ff; } .ui-dialog-content {  padding: 15px 20px; } .ui-dialog-pt15 {  padding-top: 15px; } .ui-dialog-l40 {  height: 40px;  line-height: 40px;  text-align: right; } .ui-dialog-input {  width: 100%;  height: 40px;  margin: 0;  padding: 0;  border:1px solid #d5d5d5;  font-size: 16px;  color: #c1c1c1;  text-indent: 25px;  outline: none; } .ui-dialog-input-username {  background: url("images/input_username.png") no-repeat 2px; } .ui-dialog-input-password {  background: url("images/input_password.png") no-repeat 2px; } .ui-dialog-submit {  width: 100%;  height: 50px;  background: #3b7ae3;  border: none;  font-size: 16px;  color: #ffffff;  outline: none;  text-decoration: none;  display: block;  text-align: center;  line-height: 50px; } .ui-dialog-submit:hover {  background: #3f81b0; } .ui-mask {  width: 100%;  height: 100%;  background: #000;  opacity: 0.4;  position: absolute;  top: 0;  left: 0;  z-index: 8000;  display: none; } .link {  text-align: right;  line-height: 20px;  padding-right: 40px; } </style></head><body> <div class="ui-dialog" id="dialog"> <div class="ui-dialog-title" id="dialogTitle">  登錄  <!-- 右上角的關閉按鈕 -->  <a href="javascript:hideDialog();" rel="external nofollow" class="ui-dialog-title-closebutton">X</a> </div> <div class="ui-dialog-content">  <div class="ui-dialog-l40 ui-dialog-pt15">  <input class="ui-dialog-input ui-dialog-input-username" type="input" placeholder="手機/郵箱/用戶名" />  </div>  <div class="ui-dialog-l40 ui-dialog-pt15">  <input class="ui-dialog-input ui-dialog-input-password" type="input" placeholder="密碼" />  </div>  <div class="ui-dialog-l40">  <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" >忘記密碼</a>  </div>  <div>  <a class="ui-dialog-submit" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" >登錄</a>  </div>  <div class="ui-dialog-l40">  <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" >立即注冊</a>  </div> </div> </div> <div class="ui-mask" id="mask"></div> <div class="link"> <a href="javascript:showDialog();" rel="external nofollow" style=" text-decoration: unset;color: #4ca8ff">登錄</a> </div> <script type="text/javascript"> // 獲取元素對象 function g(id) {  return document.getElementById(id); } // 自動居中函數(shù) -- 登錄浮層 // el {Element} function autoCenter(el) {  // 獲得可視區(qū)域的寬和高  var bodyW = document.documentElement.clientWidth;  var bodyH = document.documentElement.clientHeight;  // 獲得元素 el 的寬和高  var elW = el.offsetWidth;  var elH = el.offsetHeight;  // 設置元素的 style 樣式  el.style.left = (bodyW - elW) / 2 + 'px';  el.style.top = (bodyH - elH) / 2 + 'px'; } // 擴展元素到整個可視區(qū)域 -- 遮罩層 // el {Element} function fillToBody(el) {  // 將元素的寬和高設置的和可視區(qū)域一樣  el.style.width = document.documentElement.clientWidth + 'px';  el.style.height = document.documentElement.clientHeight + 'px'; } // 定義全局變量 var mouseOffsetX = 0; var mouseOffsetY = 0; var isDragging = false; // 鼠標事件1 -- 在標題欄上按下 // 計算鼠標相對拖拽元素的的左上角的坐標, 并且標記元素為可拖動 g('dialogTitle').addEventListener('mousedown', function(e) {  var e = e || window.event;  // 用鼠標按下時的坐標減去 dialog 的左上角坐標  mouseOffsetX = e.pageX - g('dialog').offsetLeft;  mouseOffsetY = e.pageY - g('dialog').offsetTop;  isDragging = true; }); // 鼠標事件2 -- 鼠標移動 document.onmousemove = function(e) {  var e = e || window.event;  // 鼠標當前位置  var mouseX = e.pageX;  var mouseY = e.pageY;  // 鼠標從單擊時至當前時刻移動的距離  var moveX = 0;  var moveY = 0;  if (isDragging === true) {  moveX = mouseX - mouseOffsetX;  moveY = mouseY - mouseOffsetY;  // 范圍限定  // moveX > 0 且 moveX < (頁面最大寬度 - 浮層寬度)  // moveY > 0 且 moveY < (頁面最大寬度 - 浮層高度)  var pageWidth = document.documentElement.clientWidth;  var pageHeight = document.documentElement.clientHeight;  // 登錄浮層的寬、高  var dialogWidth = g('dialog').offsetWidth;  var dialogHeight = g('dialog').offsetHeight;  var maxX = pageWidth - dialogWidth;  var maxY = pageHeight - dialogHeight;  moveX = Math.min(maxX, Math.max(0, moveX));  moveY = Math.min(maxY, Math.max(0, moveY));  g('dialog').style.left = moveX + 'px';  g('dialog').style.top = moveY + 'px';  } }; // 鼠標事件3 -- 鼠標松開 document.onmouseup = function() {  isDragging = false; }; // 展現(xiàn)登錄浮層 function showDialog() {  g('dialog').style.display = 'block';  g('mask').style.display = 'block';  autoCenter(g('dialog'));  fillToBody(g('mask')); } // 隱藏登錄浮層 function hideDialog() {  g('dialog').style.display = 'none';  g('mask').style.display = 'none'; } window.onresize = function() {  autoCenter(g('dialog'));  fillToBody(g('mask')); }; showDialog(); autoCenter(g('dialog')); </script></body></html>

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網(wǎng)!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 岐山县| 沈阳市| 镇江市| 阜新市| 高碑店市| 阳曲县| 梧州市| 琼海市| 芒康县| 原平市| 梁河县| 若尔盖县| 邢台县| 汝南县| 双峰县| 林芝县| 平凉市| 旬阳县| 当雄县| 阿城市| 景谷| 海口市| 莫力| 罗源县| 吉木萨尔县| 新乡县| 台北县| 顺昌县| 万宁市| 肥城市| 沙湾县| 灵武市| 淮滨县| 广元市| 上林县| 泗洪县| 察雅县| 泸西县| 汉沽区| 吉木乃县| 寿宁县|