资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

js如何实现登录框鼠标拖拽效果

小编给大家分享一下js如何实现登录框鼠标拖拽效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

十余年的碾子山网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整碾子山建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“碾子山网站设计”,“碾子山网站推广”以来,每个客户项目都认真落实执行。

效果图:

js如何实现登录框鼠标拖拽效果

代码如下:




 
 登录框鼠标拖拽效果
 
 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;
 }
 


 
 
  登录
  
  X
 
          
        
     忘记密码      
  登录   
     立即注册             登录      // 获取元素对象  function g(id) {   return document.getElementById(id);  }  // 自动居中函数 -- 登录浮层  // el {Element}  function autoCenter(el) {   // 获得可视区域的宽和高   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';  }  // 扩展元素到整个可视区域 -- 遮罩层  // el {Element}  function fillToBody(el) {   // 将元素的宽和高设置的和可视区域一样   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;  };  // 展现登录浮层  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'));  

以上是“js如何实现登录框鼠标拖拽效果”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


当前名称:js如何实现登录框鼠标拖拽效果
文章源于:http://cdkjz.cn/article/ppgjje.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220