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的密码强度验证代码
Mar 01 Javascript
jQuery实现自动滚动到页面顶端的方法
May 22 Javascript
jquery选择器简述
Aug 31 Javascript
javascript中href和replace的比较(详解)
Nov 25 Javascript
JS前端加密算法示例
Dec 22 Javascript
H5上传本地图片并预览功能
May 08 Javascript
详解在Angular项目中添加插件ng-bootstrap
Jul 04 Javascript
easyui下拉框动态级联加载的示例代码
Nov 29 Javascript
vue使用iframe嵌入网页的示例代码
Jun 09 Javascript
在 Vue-CLI 中引入 simple-mock实现简易的 API Mock 接口数据模拟
Nov 28 Javascript
jQuery实现适用于移动端的跑马灯抽奖特效示例
Jan 18 jQuery
vue-cli3 取消eslint校验代码的解决办法
Jan 16 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
php&amp;java(三)
2006/10/09 PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
2011/12/19 PHP
作为PHP程序员应该了解MongoDB的五件事
2013/06/03 PHP
Thinkphp和onethink实现微信支付插件
2016/04/13 PHP
php UNIX时间戳用法详解
2017/02/16 PHP
php接口实现拖拽排序功能
2018/04/23 PHP
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
jQuery用unbind方法去掉hover事件及其他方法介绍
2013/03/18 Javascript
使用jquery实现简单的ajax
2013/07/08 Javascript
js获取指定的cookie的具体实现
2014/02/20 Javascript
经过绑定元素时会多次触发mouseover和mouseout事件
2014/02/28 Javascript
jQuery读取XML文件的方法示例
2017/02/03 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
关于angular js_$watch监控属性和对象详解
2017/04/24 Javascript
MUI实现上拉加载和下拉刷新效果
2017/06/30 Javascript
webpack external模块的具体使用
2018/03/10 Javascript
vue-router3.0版本中 router.push 不能刷新页面的问题
2018/05/10 Javascript
VUE实现移动端列表筛选功能
2019/08/23 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
Django查询数据库的性能优化示例代码
2017/09/24 Python
Python实现将Excel转换成xml的方法示例
2018/08/25 Python
用python代码将tiff图片存储到jpg的方法
2018/12/04 Python
对python GUI实现完美进度条的示例详解
2018/12/13 Python
使用PyCharm进行远程开发和调试的实现
2019/11/04 Python
Python sqlalchemy时间戳及密码管理实现代码详解
2020/08/01 Python
Python+Opencv身份证号码区域提取及识别实现
2020/08/25 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
英国乐购杂货:Tesco Groceries
2018/11/29 全球购物
FC-Moto英国:欧洲最大的摩托车服装和头盔商店之一
2019/08/25 全球购物
药店采购员岗位职责
2014/09/30 职场文书
教师见习报告范文
2014/11/03 职场文书
2015年师德师风自我评价范文
2015/03/05 职场文书
2015年监理个人工作总结
2015/05/23 职场文书
慰问信的写作格式及范文!
2019/06/24 职场文书
基于JavaScript实现省市联动效果
2021/06/22 Javascript
Python批量解压&压缩文件夹的示例代码
2022/04/04 Python