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中的window.open返回object的错误的解决方法
Aug 15 Javascript
js DataSet数据源处理代码
Mar 29 Javascript
jQuery.extend 函数的详细用法
Jun 27 Javascript
js事件冒泡实例分享(已测试)
Apr 23 Javascript
js function定义函数的几种不错方法
Feb 27 Javascript
Javascript学习笔记之相等符号与严格相等符号
Nov 23 Javascript
angular.foreach 循环方法使用指南
Jan 06 Javascript
详解JavaScript中循环控制语句的用法
Jun 03 Javascript
JavaScript中的Math.SQRT1_2属性使用简介
Jun 14 Javascript
jquery mobile开发常见问题分析
Jan 21 Javascript
手机端实现Bootstrap简单图片轮播效果
Oct 13 Javascript
JS中的多态实例详解
Oct 15 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
东芝TOSHIBA RP-F11电路分析
2021/03/02 无线电
Pain 全世界最小最简单的PHP模板引擎 (普通版)
2011/10/23 PHP
php中将汉字转换成拼音的函数代码
2012/09/08 PHP
关于PHP语言构造器介绍
2013/07/08 PHP
php全角字符转换为半角函数
2014/02/07 PHP
实现获取http内容的php函数分享
2014/02/16 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
2015/03/18 PHP
PHP代码实现爬虫记录――超管用
2015/07/31 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
PHP反射学习入门示例
2019/06/14 PHP
jQuery实现的Email中的收件人效果(按del键删除)
2011/03/20 Javascript
js报错 Object doesn't support this property or method的原因分析
2011/03/31 Javascript
原生javascript和jquery判断浏览器版本等信息
2013/07/04 Javascript
js中prototype用法详细介绍
2013/11/14 Javascript
AngularJS实现表单验证
2015/01/28 Javascript
让JavaScript中setTimeout支持链式操作的方法
2015/06/19 Javascript
jQuery使用deferreds串行多个ajax请求
2016/08/22 Javascript
详解vue组件化开发-vuex状态管理库
2017/04/10 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
2020/04/16 Javascript
[01:10:57]Liquid vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python封装对象实现时间效果
2020/04/23 Python
python线程池的实现实例
2013/11/18 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
py-charm延长试用期限实例
2019/12/22 Python
tensorflow常用函数API介绍
2020/04/19 Python
Virtualenv 搭建 Py项目运行环境的教程详解
2020/06/22 Python
浅析python 字典嵌套
2020/09/29 Python
俄罗斯EPL钻石珠宝店:ЭПЛ
2019/10/22 全球购物
添柏岚英国官方网站:Timberland英国
2019/11/28 全球购物
刊首寄语大全
2014/04/11 职场文书
搞笑爱情保证书
2014/04/29 职场文书
2015年敬老月活动总结
2015/03/27 职场文书
警告通知
2015/04/25 职场文书
2015年学校信息技术工作总结
2015/05/25 职场文书
电影地道战观后感
2015/06/04 职场文书
基于MySql验证的vsftpd虚拟用户
2021/11/07 MySQL