jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)


Posted in Javascript onFebruary 25, 2016

本文实例讲述了jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法。分享给大家供大家参考,具体如下:

该插件是文章作者所写,目的在于提升作者的js能力,也给一些js菜鸟在使用插件时提供一些便利,老鸟就悠然地飞过吧。

此插件旨在实现目前较为流行的拖拽改变元素大小的效果,您可以根据自己的实际需求来设置被拖拽元素的最小宽高和最大宽高。整体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
*{margin:0;padding:0;}
.box{position:absolute;left:100px;top:100px;border:1px solid #eee;width:150px;height:150px;padding:10px;cursor:move;}
.drag{position:absolute;bottom:3px;right:3px;display:block;width:7px;height:7px;background:url(scale.png) no-repeat}
</style>
<script type="text/javascript" src="jquery-1.7.1.js"></script>
<script type="text/javascript" src="jquery.resizable.js"></script>
</head>
<body>
<div class="box">拖拽我吧!<span class="drag"></span></div>
<script>
$(function(){
  $(".drag").resizable({
    minW : 150,
    minH : 150,
    maxW : 500,
    maxH : 500,
    });
  })
</script>
</body>
</html>

插件 jquery.dragscale.js 代码:

/*
*resizable 0.1
*Dependenc jquery-1.7.1.js
*/
;(function(a){
  a.fn.resizable = function(options){
    var defaults = { //默认参数
      minW : 150,
      minH : 150,
      maxW : 500,
      maxH : 500,
      }
    var opts = a.extend(defaults, options);
    this.each(function(){
      var obj = a(this);
      obj.mousedown(function(e){
        var e = e || event; //区分IE和其他浏览器事件对象
        var x = e.pageX - obj.position().left; //获取鼠标距离匹配元素的父元素左侧的距离
        var y = e.pageY - obj.position().top; //获取鼠标距离匹配元素的父元素顶端的距离
        $(document).mousemove(function(e){
          var e = e || event;
          var _x = e.pageX - x; //动态获取匹配元素距离其父元素左侧的宽度
          var _y = e.pageY - y;
          _x = _x < opts.minW ? opts.minW : _x; //保证匹配元素的最小宽度为150px
          _x = _x > opts.maxW ? opts.maxW : _x; //保证匹配元素的最大宽度为500px
          _y = _y < opts.minH ? opts.minH : _y;
          _y = _y > opts.maxH ? opts.maxH : _y;
          obj.parent().css({width:_x,height:_y});
        }).mouseup(function(){
          $(this).unbind("mousemove"); //当鼠标抬起 删除移动事件  匹配元素宽高变化停止
          });
        });
      })
    }
})(jQuery);

完整实例代码点击此处本站下载。

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
javascript中的对象和数组的应用技巧
Jan 07 Javascript
js+CSS 图片等比缩小并垂直居中实现代码
Dec 01 Javascript
JavaScript 解析读取XML文档 实例代码
Jul 07 Javascript
ExtJS4 组件化编程,动态加载,面向对象,Direct
May 12 Javascript
js从Cookies里面取值的简单实现
Jun 30 Javascript
深入理解JavaScript函数参数(推荐)
Jul 26 Javascript
手机Web APP如何实现分享多平台功能
Aug 19 Javascript
纯js模仿windows系统日历
Feb 04 Javascript
vue组件学习教程
Sep 09 Javascript
JS实现点击拉拽轮播图pc端移动端适配
Sep 05 Javascript
Layui 动态禁止select下拉的例子
Sep 03 Javascript
Vue获取页面元素的相对位置的方法示例
Feb 05 Javascript
js判断图片加载完成后获取图片实际宽高的方法
Feb 25 #Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
Feb 25 #Javascript
jquery zTree异步加载简单实例讲解
Feb 25 #Javascript
JavaScript代码因逗号不规范导致IE不兼容的问题
Feb 25 #Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
Feb 25 #Javascript
JQuery ztree带筛选、异步加载实例讲解
Feb 25 #Javascript
jquery ztree实现模糊搜索功能
Feb 25 #Javascript
You might like
php中获取远程客户端的真实ip地址的方法
2011/08/03 PHP
采用ThinkPHP中F方法实现快速缓存实例
2014/06/13 PHP
php实现高效获取图片尺寸的方法
2014/12/12 PHP
PHP 5.6.11中CURL模块问题的解决方法
2016/08/08 PHP
PHP入门教程之表单与验证实例详解
2016/09/11 PHP
PHP面向对象学习之parent::关键字
2017/01/18 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
2017/09/17 PHP
arguments对象
2006/11/20 Javascript
JavaScript 字符串与数组转换函数[不用split与join]
2009/12/13 Javascript
flexigrid 类似ext grid的JS表格代码
2010/07/17 Javascript
js 立即调用的函数表达式如何写
2014/01/12 Javascript
跟我学Nodejs(三)--- Node.js模块
2014/05/25 NodeJs
javascript中局部变量和全局变量的区别详解
2015/02/27 Javascript
jQuery代码实现发展历程时间轴特效
2015/07/30 Javascript
jQuery查看选中对象HTML代码的方法
2016/06/17 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
2017/07/17 jQuery
JS+canvas画一个圆锥实例代码
2017/12/13 Javascript
javascript实现蒙版与禁止页面滚动
2020/01/11 Javascript
vue-列表下详情的展开与折叠案例
2020/07/28 Javascript
在antd Table中插入可编辑的单元格实例
2020/10/28 Javascript
JavaScript 实现轮播图特效的示例
2020/11/05 Javascript
Python使用ConfigParser模块操作配置文件的方法
2018/06/29 Python
Python 中Django安装和使用教程详解
2019/07/03 Python
HTML5验证以及日期显示的实现详解
2013/07/05 HTML / CSS
如何为DataGridView添加一个定制的Column Type
2014/01/21 面试题
城市轨道专业个人求职信范文
2013/09/23 职场文书
外贸业务员求职信范文
2013/12/12 职场文书
模具数控专业自荐信
2014/01/27 职场文书
银行优秀员工事迹
2014/02/06 职场文书
行政管理毕业生自荐信
2014/02/24 职场文书
平面设计专业大学生职业规划书
2014/03/12 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
党委书记群众路线对照检查材料思想汇报
2014/10/04 职场文书
贪污检举信范文
2015/03/02 职场文书
步步惊心观后感
2015/06/12 职场文书
Python 匹配文本并在其上一行追加文本
2022/05/11 Python