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 相关文章推荐
QQ邮箱的一个文本编辑器代码
Mar 14 Javascript
jquery自动完成插件(autocomplete)应用之PHP版
Dec 15 Javascript
含有CKEditor的表单如何提交
Jan 09 Javascript
js设置文本框中焦点位置在最后的示例代码(简单实用)
Mar 04 Javascript
Node.js程序中的本地文件操作用法小结
Mar 06 Javascript
JavaScript学习笔记之取数组中最大值和最小值
Mar 23 Javascript
Backbone.js框架中Model与Collection的使用实例
May 07 Javascript
JavaScript利用Date实现简单的倒计时实例
Jan 12 Javascript
js仿网易表单及时验证功能
Mar 07 Javascript
vue router仿天猫底部导航栏功能
Oct 18 Javascript
关于vue3默认把所有onSomething当作v-on事件绑定的思考
May 15 Javascript
vue 监听 Treeselect 选择项的改变操作
Aug 31 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
js仿京东放大镜效果
Aug 09 #Javascript
You might like
php中10个不同等级压缩优化图片操作示例
2016/11/14 PHP
PHP安装memcache扩展的步骤讲解
2019/02/14 PHP
Javascript代码在页面加载时的执行顺序介绍
2013/05/03 Javascript
js实现广告漂浮效果的小例子
2013/07/02 Javascript
JS中eval函数的使用示例
2013/07/21 Javascript
js 处理数组重复元素示例代码
2013/12/27 Javascript
javascript解析json数据的3种方式
2014/05/08 Javascript
jQuery中end()方法用法实例
2015/01/08 Javascript
JavaScript控制listbox列表框的项目上下移动的方法
2015/03/18 Javascript
BOM之navigator对象和用户代理检测
2017/02/10 Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
2018/07/04 Javascript
jQuery实现炫丽的3d旋转星空效果
2018/07/04 jQuery
微信小程序滑动选择器的实现代码
2018/08/10 Javascript
微信小程序实现的一键拨号功能示例
2019/04/24 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
2020/08/21 Javascript
Vue+Java+Base64实现条码解析的示例
2020/09/23 Javascript
跟老齐学Python之画圈还不简单吗?
2014/09/20 Python
浅谈Pandas中map, applymap and apply的区别
2018/04/10 Python
关于pytorch中网络loss传播和参数更新的理解
2019/08/20 Python
Python有参函数使用代码实例
2020/01/06 Python
Django后端分离 使用element-ui文件上传方式
2020/07/12 Python
Python根据字符串调用函数过程解析
2020/11/05 Python
eDreams巴西:廉价机票,酒店优惠和度假套餐
2017/04/14 全球购物
德国孕妇装和婴童服装网上商店:bellybutton
2018/04/12 全球购物
Maxpeedingrods美国:高性能汽车零件
2020/02/14 全球购物
介绍一下Linux中的链接
2016/05/28 面试题
XMLHttpRequest对象在IE和Firefox中创建方式有没有不同
2016/03/23 面试题
介绍一下Java中的static关键字
2012/05/12 面试题
中职生自我鉴定范文
2013/10/03 职场文书
会议室标语
2014/06/21 职场文书
影视广告专业求职信
2014/09/02 职场文书
计划生育汇报材料
2014/12/26 职场文书
五一劳动节活动总结
2015/02/09 职场文书
2015年医院后勤工作总结
2015/05/20 职场文书
《夹竹桃》教学反思
2016/02/23 职场文书
MySQL基础(二)
2021/04/05 MySQL