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 相关文章推荐
jquery 图片 上一张 下一张 链接效果(续篇)
Apr 20 Javascript
js实现精美的银灰色竖排折叠菜单
May 16 Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
Sep 27 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
Jan 30 Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
Apr 12 Javascript
二维码图片生成器QRCode.js简单介绍
Aug 18 Javascript
基于js 各种排序方法和sort方法的区别(详解)
Jan 03 Javascript
详解在React.js中使用PureComponent的重要性和使用方式
Jul 10 Javascript
Vue CLI 3.x 自动部署项目至服务器的方法
Apr 02 Javascript
layui多iframe页面控制定时器运行的方法
Sep 05 Javascript
js如何验证密码强度
Mar 18 Javascript
three.js如何实现3D动态文字效果
Mar 03 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
PHP4实际应用经验篇(7)
2006/10/09 PHP
如何写php程序?
2006/12/08 PHP
MySQL授权问题总结
2007/05/06 PHP
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
eclipse php wamp配置教程
2016/06/30 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
2017/05/05 PHP
在线编辑器中换行与内容自动提取
2009/04/24 Javascript
基于jQuery的获得各种控件Value的方法
2010/11/19 Javascript
分享27个jQuery 表单插件集合推荐
2011/04/25 Javascript
推荐10 款 SVG 动画的 JavaScript 库
2015/03/24 Javascript
jQuery选择器源码解读(六):Sizzle选择器匹配逻辑分析
2015/03/31 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
2016/05/28 Javascript
js中toString()和String()区别详解
2017/03/23 Javascript
jQuery实现获取table中鼠标click点击位置行号与列号的方法
2017/10/09 jQuery
vue 数组和对象不能直接赋值情况和解决方法(推荐)
2017/10/25 Javascript
jQuery实现的点击显示隐藏下拉菜单功能完整示例
2019/05/17 jQuery
微信小程序下拉框搜索功能的实现方法
2019/07/31 Javascript
js实现鼠标拖拽div左右滑动
2020/01/15 Javascript
node.js 微信开发之定时获取access_token
2020/02/07 Javascript
JS数组转字符串实现方法解析
2020/09/04 Javascript
linux系统使用python获取cpu信息脚本分享
2014/01/15 Python
Python中的条件判断语句与循环语句用法小结
2016/03/21 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
解决Python 中英文混输格式对齐的问题
2018/07/16 Python
python单例模式实例解析
2018/08/28 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
jupyter notebook oepncv 显示一张图像的实现
2020/04/24 Python
什么是python的列表推导式
2020/05/26 Python
video实现有声音自动播放的实现方法
2020/05/20 HTML / CSS
奥利奥广告词
2014/03/20 职场文书
普通话演讲稿
2014/09/03 职场文书
公司离职证明范本
2014/10/17 职场文书
2014年大学班级工作总结
2014/11/14 职场文书
2014年小学安全工作总结
2014/12/04 职场文书
介绍信格式样本
2015/05/05 职场文书
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers