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 相关文章推荐
javascript 运算数的求值顺序
Aug 23 Javascript
一个关于javascript匿名函数的问题分析
Mar 30 Javascript
javascript操作JSON的要领总结
Dec 09 Javascript
浅谈javascript回调函数
Dec 07 Javascript
微信QQ的二维码登录原理js代码解析
Jun 23 Javascript
jQuery stop()用法实例详解
Jul 28 Javascript
JavaScript数据类型学习笔记分享
Sep 01 Javascript
vue.js学习之UI组件开发教程
Jul 03 Javascript
jquery动态添加带有样式的HTML标签元素方法
Feb 24 jQuery
Vue实现的父组件向子组件传值功能示例
Jan 19 Javascript
JS实现将对象转化为数组的方法分析
Jan 21 Javascript
vue3不同环境下实现配置代理
May 25 Vue.js
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
多重?l件?合查?(二)
2006/10/09 PHP
ADODB结合SMARTY使用~超级强
2006/11/25 PHP
php读取30天之内的根据算法排序的代码
2008/04/06 PHP
PHP多个文件上传到服务器实例
2014/10/29 PHP
Yii使用smsto短信接口的函数demo示例
2016/07/13 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
关于B/S判断浏览器断开的问题讨论
2008/10/29 Javascript
jQuery EasyUI API 中文文档 - ComboGrid 组合表格
2011/10/13 Javascript
javascript类型转换示例
2014/04/29 Javascript
Javascript验证用户输入URL地址是否为空及格式是否正确
2014/10/09 Javascript
JavaScript中使用数组方法汇总
2016/02/16 Javascript
JQuery和PHP结合实现动态进度条上传显示
2016/11/23 Javascript
bootstrap table 数据表格行内修改的实现代码
2017/02/13 Javascript
关于redux-saga中take使用方法详解
2018/02/27 Javascript
详解如何在vue-cli中使用vuex
2018/08/07 Javascript
node版本管理工具n包使用教程详解
2018/11/09 Javascript
Vue中JS动画与Velocity.js的结合使用
2019/02/13 Javascript
jquery实现掷骰子小游戏
2019/10/24 jQuery
微信小程序实现搜索框功能及踩过的坑
2020/06/19 Javascript
Jquery $.map使用方法实例详解
2020/09/01 jQuery
vue中选中多个选项并且改变选中的样式的实例代码
2020/09/16 Javascript
Python常用的日期时间处理方法示例
2015/02/08 Python
Django Admin 实现外键过滤的方法
2017/09/29 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
2018/04/28 Python
Python使用Selenium爬取淘宝异步加载的数据方法
2018/12/17 Python
python Elasticsearch索引建立和数据的上传详解
2019/08/04 Python
Python 实现进度条的六种方式
2021/01/06 Python
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
英国高街品牌:Miss Selfridge(塞尔弗里奇小姐)
2016/09/21 全球购物
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
吉列剃须刀英国官网:Gillette英国
2019/03/28 全球购物
通往英国高街的商店橱窗:Down Your High Street
2020/07/19 全球购物
C#实现启动一个进程
2016/10/01 面试题
微观世界观后感
2015/06/10 职场文书
导游词创作书写原则以及开场白技巧怎么学?
2019/09/25 职场文书
MySQL8.0升级的踩坑历险记
2021/11/01 MySQL