js实现鼠标拖拽缩放div实例代码


Posted in Javascript onMarch 25, 2019

封装为了jq插件,如下

drag.js

;(function ($) {
 $.fn.dragDiv = function (options) {
  var def = {
   maxW:600,// 可伸缩的最大宽度
   minW:50// 可伸缩的最小宽度
  };// 参数默认值
  var opts = $.extend(def,options);// 扩展参数,使用默认值或传参
  //设置最大/最小宽度
  var max_width = opts.maxW,
   min_width = opts.minW;
 
  //记录鼠标相对left盒子x轴位置
  var mouse_x = 0;
  var left = $(this).parent('div')[0];
 
  //鼠标移动事件
  function mouseMove(e) {
   var e = e || window.event;
   var left_width = e.clientX - mouse_x;// 可伸缩div的宽度
   left_width = left_width < min_width ? min_width : left_width;
   left_width = left_width > max_width ? max_width : left_width;
   left.style.width = left_width + "px";
  }
  //终止事件
  function mouseUp() {
   document.onmousemove = null;
   document.onmouseup = null;
  }
  $(this).mousedown(function (e) {
   var e = e || window.event;
   //阻止默认事件
   e.preventDefault();
   mouse_x = e.clientX - left.offsetWidth;// 可伸缩div距离左侧边界的宽度
   document.onmousemove = function () {
    mouseMove()
   };
   document.onmouseup = function () {
    mouseUp()
   };
  })
 }
})(jQuery)

html文件

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport"
   content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>鼠标进行伸缩div</title>
 <style>
  * {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
  }
  .dragdom {
   background: #cccccc;
   width: 100px;
   height: 600px;
   margin: 0 auto;
   position: relative;
  }
  .dragdom .drag {
   border: 1px transparent solid;
   width: 0px;
   height: 100%;
   position: absolute;
   top: 0;
   right: 0;
   cursor: e-resize;
  }
 </style>
</head>
<body>
<div class="dragdom"><div class="drag"></div></div>
</body>
</html>
<script type="text/javascript" src="./jquery.min.js"></script>
<script type="text/javascript" src="./drag.js"></script>
<script>
 $(function () {
  $('.drag').dragDiv();
 })
</script>

以上所述是小编给大家介绍的js实现鼠标拖拽缩放div详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
Mar 12 Javascript
javascript中的一些注意事项 更新中
Dec 06 Javascript
jquery $.each()使用探讨
Sep 23 Javascript
js 设置缓存及获取设置的缓存
May 08 Javascript
Node.js中的模块机制学习笔记
Nov 04 Javascript
JavaScript异步加载浅析
Dec 28 Javascript
Jquery中Event对象属性小结
Feb 27 Javascript
关于Stream和Buffer的相互转换详解
Jul 26 Javascript
JavaScript的数据类型转换原则(干货)
Mar 15 Javascript
解决layui表格内文本超出隐藏的问题
Sep 12 Javascript
Element PageHeader页头的使用方法
Jul 26 Javascript
vue接口请求加密实例
Aug 11 Javascript
Vue框架下引入ActiveX控件的问题解决
Mar 25 #Javascript
9102了,你还不会移动端真机调试吗
Mar 25 #Javascript
详解原生JS回到顶部
Mar 25 #Javascript
javascript验证form表单数据的案例详解
Mar 25 #Javascript
elementUI select组件默认选中效果实现的方法
Mar 25 #Javascript
详解javascript函数写法大全
Mar 25 #Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
Mar 25 #Javascript
You might like
使用Thinkphp框架开发移动端接口
2015/08/05 PHP
PHP中使用curl伪造IP的简单方法
2015/08/07 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
PHP实现普通hash分布式算法简单示例
2018/08/06 PHP
javascript setAttribute, getAttribute 在不同浏览器上的不同表现
2010/08/05 Javascript
html中table数据排序的js代码
2011/08/09 Javascript
Redis基本知识、安装、部署、配置笔记
2015/03/05 Javascript
JavaScript中的setUTCDate()方法使用详解
2015/06/11 Javascript
JS创建事件的三种方法(实例代码)
2016/05/12 Javascript
JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
2016/08/23 Javascript
CSS3 media queries结合jQuery实现响应式导航
2016/09/30 Javascript
JavaScript 保护变量不被随意修改的实现代码
2017/09/27 Javascript
关于vue单文件中引用路径的处理方法
2018/01/08 Javascript
Vue微信项目按需授权登录策略实践思路详解
2018/05/07 Javascript
JS获取月的第几周和年的第几周实例代码
2018/12/05 Javascript
今天,小程序正式支持 SVG
2019/04/20 Javascript
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
Vue.js中使用Vuex实现组件数据共享案例
2020/07/31 Javascript
vue项目实现减少app.js和vender.js的体积操作
2020/11/12 Javascript
python引用DLL文件的方法
2015/05/11 Python
Python程序中的观察者模式结构编写示例
2016/05/27 Python
整理Python 常用string函数(收藏)
2016/05/30 Python
python3 pillow生成简单验证码图片的示例
2017/09/19 Python
Python3 处理JSON的实例详解
2017/10/29 Python
Python实现简单求解给定整数的质因数算法示例
2018/03/25 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
查看python安装路径及pip安装的包列表及路径
2019/04/03 Python
python的移位操作实现详解
2019/08/21 Python
python安装scipy的步骤解析
2019/09/28 Python
PyTorch实现重写/改写Dataset并载入Dataloader
2020/07/14 Python
消防安全汇报材料
2014/02/08 职场文书
yy婚礼主持词
2014/03/14 职场文书
党支部三会一课计划
2014/09/24 职场文书
长城英文导游词
2015/01/30 职场文书
2015年财务科工作总结范文
2015/05/13 职场文书
go select编译期的优化处理逻辑使用场景分析
2021/06/28 Golang