基于JavaScript实现窗口拖动效果


Posted in Javascript onJanuary 18, 2017

写法类似于上一篇,水平进度条拖拽,具体内容如下

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    *{
      margin: 0;
      padding: 0;
    }
    .nav{
      width: 100%;
      height: 20px;
      background-color: #ccc;
    }
    .popup{
      width: 300px;
      height: 300px;
      border: 1px solid red;
      position: absolute;
      left: 50%;
      top: 50%;
      margin-left: -150px;
      margin-top: -150px;
    }
    .popup .title{
      height: 20px;
      width: 100%;
      background: deeppink;
      cursor: move;
    }
  </style>  
</head>
<body>
  <div class="nav">注册信息</div>
  <div class="popup" id="popupfather">
    <div class="title" id="popupson">我是窗口标题,可拖着我走</div>
    <div class="content">我是窗口内容</div>
  </div>
  <script>  
    var popupfather = document.getElementById('popupfather');
    var popupson = document.getElementById('popupson');

    popupson.onmousedown = function(event){
      var event = event || window.event;
      var that = this;
      var x = event.clientX - popupfather.offsetLeft - 150; //当前鼠标点击处相对于popupfather所在位置x , -150 是处理margin值
      var y = event.clientY - popupfather.offsetTop - 150; //当前鼠标点击处相对于popupfather所在位置y
      document.onmousemove = function(event){
        var event = event || window.event;
        popupfather.style.left = event.clientX - x + "px";
        popupfather.style.top = event.clientY- y + "px";
        window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();

      }
    }
    document.onmouseup = function(){
      document.onmousemove = null;
    }
  </script>
</body>
</html>

效果图:

基于JavaScript实现窗口拖动效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Extjs学习笔记之三 extjs form更多的表单项
Jan 07 Javascript
Javascript string 扩展库代码
Apr 09 Javascript
JS 实现导航栏悬停效果(续)
Sep 24 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
Mar 28 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
Apr 03 Javascript
select下拉框插件jquery.editable-select详解
Jan 22 Javascript
JS异步加载的三种实现方式
Mar 16 Javascript
JavaScript之map reduce_动力节点Java学院整理
Jun 29 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
Oct 26 Javascript
webpack打包并将文件加载到指定的位置方法
Feb 22 Javascript
Vue动态加载异步组件的方法
Nov 21 Javascript
jQuery实现form表单基于ajax无刷新提交方法实例代码
Nov 04 jQuery
原生js实现节日时间倒计时功能
Jan 18 #Javascript
原生js实现返回顶部缓冲效果
Jan 18 #Javascript
详解jquery validate实现表单验证 (正则表达式)
Jan 18 #Javascript
原生js实现中奖信息无间隙滚动效果
Jan 18 #Javascript
js实现简单的网页换肤效果
Jan 18 #Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
Jan 18 #Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
Jan 18 #Javascript
You might like
全国中波电台频率表
2020/03/11 无线电
php中随机显示图片的函数代码
2011/06/23 PHP
PHP和JAVA中的重载(overload)和覆盖(override) 介绍
2012/03/01 PHP
浅析SVN常见问题及解决方法
2013/06/21 PHP
php数组操作之键名比较与差集、交集赋值的方法
2014/11/10 PHP
ThinkPHP5 验证器的具体使用
2018/05/31 PHP
开发跨浏览器javascript常见注意事项
2009/01/01 Javascript
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
javascript dom 基本操作小结
2010/04/11 Javascript
基于JQuery的动态删除Table表格的行和列的代码
2011/05/12 Javascript
js控制输入框获得和失去焦点时状态显示的方法
2015/01/30 Javascript
在JavaScript的AngularJS库中进行单元测试的方法
2015/06/23 Javascript
javascript实现unicode与ASCII相互转换的方法
2015/12/10 Javascript
jQuery layui常用方法介绍
2016/07/25 Javascript
js滚轮事件兼容性问题需要注意哪些
2016/11/15 Javascript
canvas仿iwatch时钟效果
2017/03/06 Javascript
vue resource post请求时遇到的坑
2017/10/19 Javascript
NodeJS服务器实现gzip压缩的示例代码
2018/10/12 NodeJs
详解vue中axios的使用与封装
2019/03/20 Javascript
vue组件开发之slider组件使用详解
2020/08/21 Javascript
将图片文件嵌入到wxpython代码中的实现方法
2014/08/11 Python
AI人工智能 Python实现人机对话
2017/11/13 Python
解决已经安装requests,却依然提示No module named requests问题
2018/05/18 Python
python3写的简单本地文件上传服务器实例
2018/06/04 Python
浅谈Python3 numpy.ptp()最大值与最小值的差
2019/08/24 Python
Django 自定义分页器的实现代码
2019/11/24 Python
Python3的socket使用方法详解
2020/02/18 Python
python包的导入方式总结
2021/03/02 Python
Crabtree & Evelyn欧盟:豪华洗浴、身体和护发
2021/03/09 全球购物
党政领导班子群众路线对照检查材料思想汇报
2014/09/27 职场文书
开展警示教育活动总结
2015/05/09 职场文书
培训讲师开场白
2015/06/01 职场文书
刮痧观后感
2015/06/05 职场文书
2016年感恩节活动总结大全
2016/04/01 职场文书
MySql重置root密码 --skip-grant-tables
2022/04/11 MySQL
JavaScript中reduce()的用法
2022/05/11 Javascript