js实现盒子拖拽动画效果


Posted in Javascript onAugust 09, 2020

本文实例为大家分享了js实现盒子拖拽动画的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html lang="zh-CN">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <script src="jquery.js"></script>
 <style>
 * {
  margin: 0;
  padding: 0;
 }
 .wrap {
  width: 400px;
  height: 200px;
  border: 1px solid #ccc;
  border-right-color: red;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -200px;
  margin-top: -100px;
  box-sizing: border-box;
 }
 .wrap .head {
  height: 40px;
  padding-left: 4px;
  padding-right: 4px;
  background-color: #ccc;
  box-sizing: border-box;
  line-height: 40px;
  user-select: none;
 }
 .head:hover {
  cursor: move;
 }
 .head span {
  float: left;
 }
 #close {
  float: right;
 }
 #close:hover {
  cursor: pointer;
 }
 </style>
</head>
<body>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <p>tom</p>
 <div class="wrap">
 <div class="head">
  <span>试着拖拽我</span>
  <span id="close">【关闭】</span>
 </div>
 </div>
 <script>
 let wrap = document.querySelector('.wrap');
 let close = document.getElementById('close');
 let head = document.querySelector('.head');

 head.onmousedown = function (e) {
  // 获得鼠标在 head 中的坐标 
  let x = e.pageX - wrap.offsetLeft;
  let y = e.pageY - wrap.offsetTop;
  console.log(x, y);
  document.onmousemove = function (e) {
  
  let xx = e.pageX - x;
  let yy = e.pageY - y;
  // 设置边界限制
  xx = xx < 0 ? 0 : xx;
  yy = yy < 0 ? 0 : yy;
  if (xx >= innerWidth - wrap.offsetWidth) {
   document.documentElement.scrollLeft = 20;
  } else {
   document.documentElement.scrollLeft = 0;
  }
  xx = xx > innerWidth - wrap.offsetWidth ? innerWidth-wrap.offsetWidth : xx; 
  yy = yy > innerHeight - wrap.offsetHeight + document.documentElement.scrollTop ? innerHeight - wrap.offsetHeight + document.documentElement.scrollTop : yy;
  wrap.style.left = xx + 'px';
  wrap.style.top = yy + 'px';
  // 禁止X滚动轴
  document.body.style.overflowX = 'hidden';
  wrap.style.marginLeft = 0;
  wrap.style.marginTop = 0;
  };
 };

 document.onmouseup = function () {
  document.onmousemove = null;
 };

 close.onclick = function () {
  wrap.style.display = 'none';
 };
 </script>
</body>
</html>

实现效果:

js实现盒子拖拽动画效果

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

Javascript 相关文章推荐
jQuery :nth-child前有无空格的区别分析
Jul 11 Javascript
页面使用密码保护代码
Apr 10 Javascript
jQuery简单创建节点的方法
Sep 09 Javascript
详解Js模板引擎(TrimPath)
Nov 22 Javascript
angularjs实现过滤并替换关键字小功能
Sep 19 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
Jan 03 Javascript
vue.js实现的绑定class操作示例
Jul 06 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
Sep 02 Javascript
实例分析vue循环列表动态数据的处理方法
Sep 28 Javascript
Vue实现表格批量审核功能实例代码
May 28 Javascript
javascript实现简易计算器功能
Sep 23 Javascript
vue选项卡切换的实现案例
Apr 11 Vue.js
js实现盒子移动动画效果
Aug 09 #Javascript
js实现弹窗效果
Aug 09 #Javascript
js实现表格数据搜索
Aug 09 #Javascript
js实现微信聊天界面
Aug 09 #Javascript
js实现微信聊天效果
Aug 09 #Javascript
js实现盒子滚动动画效果
Aug 09 #Javascript
js仿京东放大镜效果
Aug 09 #Javascript
You might like
一个程序下载的管理程序(三)
2006/10/09 PHP
PHP取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
php实现建立多层级目录的方法
2014/07/19 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
2019/03/30 PHP
href下载文件根据id取url并下载
2014/05/28 Javascript
jQuery中prepend()方法用法实例
2014/12/25 Javascript
js函数与php函数的区别实例浅析
2015/01/12 Javascript
JavaScript中数据结构与算法(二):队列
2015/06/19 Javascript
jQuery实现类似淘宝网图片放大效果的方法
2015/07/08 Javascript
深入理解JS正则表达式---分组
2016/07/18 Javascript
Bootstrap和Java分页实例第一篇
2016/12/23 Javascript
从零学习node.js之利用express搭建简易论坛(七)
2017/02/25 Javascript
又一款MVVM组件 构建自己的Vue组件(2)
2017/03/13 Javascript
js基于FileSaver.js 浏览器导出Excel文件的示例
2017/08/15 Javascript
axios全局请求参数设置,请求及返回拦截器的方法
2018/03/05 Javascript
详解vue-router数据加载与缓存使用总结
2018/10/29 Javascript
原生JS实现拖拽功能
2020/12/16 Javascript
[01:55]TI9显影之尘系列 - Evil Geniuses
2019/08/22 DOTA
跟老齐学Python之通过Python连接数据库
2014/10/28 Python
探究数组排序提升Python程序的循环的运行效率的原因
2015/04/01 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
2018/12/10 Python
Python eval的常见错误封装及利用原理详解
2019/03/26 Python
python的依赖管理的实现
2019/05/14 Python
cookies应对python反爬虫知识点详解
2020/11/25 Python
CSS3中:nth-child和:nth-of-type的区别深入理解
2014/03/10 HTML / CSS
让IE支持CSS3的不完全兼容方案
2014/09/19 HTML / CSS
简述网络文件系统NFS,并说明其作用
2016/10/19 面试题
党校培训思想汇报
2013/12/30 职场文书
2014两会优秀的心得体会范文
2014/03/17 职场文书
中介业务员岗位职责
2014/04/09 职场文书
美德少年事迹材料1000字
2014/08/21 职场文书
精神病医院见习报告
2014/11/03 职场文书
国情备忘录观后感
2015/06/04 职场文书
解析Java中的static关键字
2021/06/14 Java/Android
Go语言基础函数基本用法及示例详解
2021/11/17 Golang