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实现页面自适应
Jan 19 Javascript
javascript之水平横向滚动歌词同步的应用
May 07 Javascript
让浏览器DOM元素最后加载的js方法
Jul 29 Javascript
Jquery实现鼠标移动放大图片功能实例
Mar 25 Javascript
JS三级可折叠菜单实现方法
Feb 29 Javascript
js HTML5多媒体影音播放
Oct 17 Javascript
jquery实现自适应banner焦点图
Feb 16 Javascript
JavaScript创建对象_动力节点Java学院整理
Jun 27 Javascript
基于Vue中点击组件外关闭组件的实现方法
Mar 06 Javascript
微信小程序实现form表单本地储存数据
Jun 27 Javascript
JS实现躲避粒子小游戏
Jun 18 Javascript
详解vite+ts快速搭建vue3项目以及介绍相关特性
Feb 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
用PHP编写PDF文档生成器
2006/10/09 PHP
PHP 读取和修改大文件的某行内容的代码
2009/10/30 PHP
超级好用的一个php上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
解析yii数据库的增删查改
2013/06/20 PHP
php加密解密函数authcode的用法详细解析
2013/10/28 PHP
php通过隐藏表单控件获取到前两个页面的url
2014/09/09 PHP
PHP中file_get_contents高?用法实例
2014/09/24 PHP
PHP中的output_buffering详细介绍
2014/09/27 PHP
PHP中array_slice函数用法实例详解
2014/11/25 PHP
Yii2如何批量添加数据
2016/05/17 PHP
深入理解PHP类的自动载入机制
2016/09/16 PHP
PHP isset()与empty()的使用区别详解
2017/02/10 PHP
利用 fsockopen() 函数开放端口扫描器的实例
2017/08/19 PHP
PHP实现与java 通信的插件使用教程
2019/08/11 PHP
Prototype源码浅析 Enumerable部分(二)
2012/01/18 Javascript
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
顶部缓冲下拉菜单导航特效的JS代码
2013/08/27 Javascript
javascript读取xml实现javascript分页
2013/12/13 Javascript
jQuery表格插件datatables用法总结
2014/09/05 Javascript
jQuery实现单击和鼠标感应事件
2015/02/01 Javascript
浅谈jquery点击label触发2次的问题
2016/06/12 Javascript
nodejs学习笔记之路由
2017/03/27 NodeJs
对Vue beforeRouteEnter 的next执行时机详解
2018/08/25 Javascript
[06:25]第二届DOTA2亚洲邀请赛主赛事第二天比赛集锦.mp4
2017/04/03 DOTA
python对离散变量的one-hot编码方法
2018/07/11 Python
python实战教程之自动扫雷
2018/07/13 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
python实现图片二值化及灰度处理方式
2019/12/07 Python
python实现企业微信定时发送文本消息的实例代码
2020/11/25 Python
授权委托书格式模板
2014/04/03 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
2015年基层党建工作汇报材料
2015/06/25 职场文书
《分数乘法》教学反思
2016/02/24 职场文书
描写九月优美句子(39条)
2019/09/11 职场文书
如何使用Python对NetCDF数据做空间相关分析
2021/04/21 Python
MongoDB误操作后使用oplog恢复数据
2022/04/11 MongoDB