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 相关文章推荐
SinaEditor使用方法详解
Dec 28 Javascript
jQuery实现网页抖动的菜单抖动效果
Aug 07 Javascript
基于BootStrap的图片轮播效果展示实例代码
May 23 Javascript
基于BootstrapValidator的Form表单验证(24)
Dec 12 Javascript
jQuery实现表格元素动态创建功能
Jan 09 Javascript
详解react使用react-bootstrap当轮子造车
Aug 15 Javascript
vue-router命名路由和编程式路由传参讲解
Jan 19 Javascript
JS字典Dictionary类定义与用法示例
Feb 01 Javascript
JS随机密码生成算法
Sep 23 Javascript
layui 解决form表单点击无反应的问题
Oct 25 Javascript
JS数组的高级使用方法示例小结
Mar 14 Javascript
vue项目实现分页效果
Mar 24 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
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
2007/01/29 PHP
经典的PHPer为什么被认为是草根?
2007/04/02 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
2018/04/12 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
Jquery Select操作方法集合脚本之家特别版
2010/05/17 Javascript
TextArea不支持maxlength的解决办法(jquery)
2011/09/13 Javascript
5个最佳的Javascript日期处理类库分享
2012/04/15 Javascript
javascript倒计时功能实现代码
2012/06/07 Javascript
JQuery+CSS实现图片上放置按钮的方法
2015/05/29 Javascript
jQuery实现简单的列表式导航菜单效果代码
2015/08/31 Javascript
原生JavaScript实现瀑布流布局
2020/06/28 Javascript
第十章之巨幕页头缩略图与警告框组件
2016/04/25 Javascript
JavaScript编写一个贪吃蛇游戏
2017/03/09 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
2018/05/13 Javascript
JQuery模拟实现网页中自定义鼠标右键菜单功能
2018/11/14 jQuery
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
微信小程序中的列表切换功能实例代码详解
2020/06/09 Javascript
Python实现获取网站PR及百度权重
2015/01/21 Python
python使用wxpython开发简单记事本的方法
2015/05/20 Python
Python多线程下载文件的方法
2015/07/10 Python
详解Python nose单元测试框架的安装与使用
2017/12/20 Python
使用pygame模块编写贪吃蛇的实例讲解
2018/02/05 Python
利用python循环创建多个文件的方法
2018/10/25 Python
图文详解python安装Scrapy框架步骤
2019/05/20 Python
Python远程开发环境部署与调试过程图解
2019/12/09 Python
详解H5 活动页之移动端 REM 布局适配方法
2017/12/07 HTML / CSS
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
美国伴娘礼服商店:Evening Collective
2019/10/07 全球购物
Ego Shoes官网:英国时髦鞋类品牌
2020/10/19 全球购物
综合办公室主任岗位职责
2014/04/13 职场文书
城管大队整治方案
2014/05/06 职场文书
雾霾停课通知
2015/04/24 职场文书
Mysql Show Profile
2021/04/05 MySQL
浅谈如何保证Mysql主从一致
2022/03/13 MySQL
《最终幻想14》6.01版本4月5日推出 追加新任务新道具
2022/04/03 其他游戏
高通2023 年将发布高性能PC处理器
2022/04/29 数码科技