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 相关文章推荐
js简单实现HTML标签Select联动带跳转
Oct 23 Javascript
Jquery 点击按钮自动高亮实现原理及代码
Apr 25 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
May 28 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
Jun 23 Javascript
JS动态加载当前时间的方法
Feb 09 Javascript
js实现键盘Enter键提交表单的方法
May 27 Javascript
JS实现拖动滚动条评分的效果代码分享
Sep 29 Javascript
Angular2入门教程之模块和组件详解
May 28 Javascript
详解用node搭建简单的静态资源管理器
Aug 09 Javascript
Node.js中使用mongoose操作mongodb数据库的方法
Sep 12 Javascript
使用webpack搭建pixi.js开发环境
Feb 12 Javascript
vue elementUI表格控制对应列
Apr 13 Vue.js
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
解析argc argv在php中的应用
2013/06/24 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
JavaScript 匿名函数(anonymous function)与闭包(closure)
2011/10/04 Javascript
jQuery easyui datagrid动态查询数据实例讲解
2013/02/26 Javascript
js replace 与replaceall实例用法详解
2013/08/03 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
2013/08/06 Javascript
javascript的propertyIsEnumerable()方法使用介绍
2014/04/09 Javascript
javascript随机之洗牌算法深入分析
2014/06/07 Javascript
JQuery+CSS实现图片上放置按钮的方法
2015/05/29 Javascript
详谈js中window.location.search的用法和作用
2017/02/13 Javascript
vue使用stompjs实现mqtt消息推送通知
2017/06/22 Javascript
如何使用JS在HTML中自定义字符串格式化
2017/07/20 Javascript
微信小程序之GET请求的实例详解
2017/09/29 Javascript
JS对日期操作封装代码实例
2019/11/08 Javascript
实例分析JS中的相等性判断===、 ==和Object.is()
2019/11/17 Javascript
Vue父组件监听子组件生命周期
2020/09/03 Javascript
关于Js中new操作符的作用详解
2021/02/21 Javascript
[04:13]2018国际邀请赛典藏宝瓶Ⅱ饰品一览
2018/07/21 DOTA
PYTHON正则表达式 re模块使用说明
2011/05/19 Python
python 远程统计文件代码分享
2015/05/14 Python
Python中操作符重载用法分析
2016/04/29 Python
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
2017/02/13 Python
Python实现通讯录功能
2018/02/22 Python
Pycharm设置utf-8自动显示方法
2019/01/17 Python
python3.7+selenium模拟淘宝登录功能的实现
2020/05/26 Python
canvas实现二维码和图片合成的示例代码
2018/08/01 HTML / CSS
耐克美国官网:Nike.com
2016/08/01 全球购物
国家地理在线商店:Shop National Geographic
2018/06/30 全球购物
音乐专业应届生教师求职信
2013/11/04 职场文书
经典英文广告词
2014/03/18 职场文书
交通事故和解协议书
2014/09/25 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
优秀教师事迹材料
2014/12/15 职场文书
美术教师个人总结
2015/02/06 职场文书
竞聘开场白方式有哪些?
2019/08/28 职场文书
pytorch 实现变分自动编码器的操作
2021/05/24 Python