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 相关文章推荐
js数值计算时使用parseInt进行数据类型转换(jquery)
Oct 07 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
Apr 16 Javascript
JavaScript中的fontsize()方法使用详解
Jun 08 Javascript
JavaScript获取当前cpu使用率的方法
Dec 15 Javascript
在javascript中使用com组件的简单实现方法
Aug 17 Javascript
seajs模块之间依赖的加载以及模块的执行
Oct 21 Javascript
利用vue-router实现二级菜单内容转换
Nov 30 Javascript
Bootstrap Table使用整理(三)
Jun 09 Javascript
vue+mockjs模拟数据实现前后端分离开发的实例代码
Aug 08 Javascript
jQuery中.attr()和.data()的区别分析
Sep 03 jQuery
Vue 实现双向绑定的四种方法
Mar 16 Javascript
vue-cli2 构建速度优化的实现方法
Jan 08 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
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
2011/04/23 PHP
PHP设计模式之装饰者模式
2012/02/29 PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
2014/06/12 PHP
PHP常见的序列化与反序列化操作实例分析
2019/10/28 PHP
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
2014/03/27 Javascript
javascript中的throttle和debounce浅析
2014/06/06 Javascript
JavaScript实现twitter puddles算法实例
2014/12/06 Javascript
node.js中的fs.utimes方法使用说明
2014/12/15 Javascript
jQuery中height()方法用法实例
2014/12/24 Javascript
png在IE6 下无法透明的解决方法汇总
2015/05/21 Javascript
基于jQuery实现表格的查看修改删除
2016/08/01 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
2017/01/05 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
2017/05/17 Javascript
BootStrap数据表格实例代码
2017/09/13 Javascript
微信小程序 腾讯地图显示偏差问题解决
2019/07/27 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
2020/10/29 Javascript
vue.js watch经常失效的场景与解决方案
2021/01/07 Vue.js
Python代码调试的几种方法总结
2015/04/15 Python
python爬取NUS-WIDE数据库图片
2016/10/05 Python
Python 多线程Threading初学教程
2017/08/22 Python
对python numpy数组中冒号的使用方法详解
2018/04/17 Python
python特性语法之遍历、公共方法、引用
2018/08/08 Python
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
Pytorch在NLP中的简单应用详解
2020/01/08 Python
Python连接Impala实现步骤解析
2020/08/04 Python
Python抓包并解析json爬虫的完整实例代码
2020/11/03 Python
利用CSS的Sass预处理器(框架)来制作居中效果
2016/03/10 HTML / CSS
检测浏览器是否支持html5视频的代码
2013/03/28 HTML / CSS
如何判断计算机可能已经中马
2013/03/22 面试题
市场营销毕业生自荐信
2013/11/23 职场文书
学生会离职感言
2014/02/11 职场文书
保卫科工作岗位职责
2014/03/01 职场文书
大学迎新生欢迎词
2015/09/29 职场文书
Python异常类型以及处理方法汇总
2021/06/05 Python
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫