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程序来实现动画功能
Mar 06 Javascript
javascript之函数直接量(function(){})()
Jun 29 Javascript
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
May 23 Javascript
javascript在myeclipse中报错的解决方法
Oct 29 Javascript
获得Javascript对象属性个数的示例代码
Nov 21 Javascript
js实现倒计时时钟的示例代码
Dec 17 Javascript
js漂浮广告实现代码
Aug 15 Javascript
javascript 中的继承实例详解
May 05 Javascript
Bootstrap Table使用整理(四)之工具栏
Jun 09 Javascript
微信小程序实现顶部普通选项卡效果(非swiper)
Jun 19 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
Jan 23 Javascript
使vue实现jQuery调用的两种方法
May 12 jQuery
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
javascript数组与php数组的地址传递及值传递用法实例
2015/01/22 PHP
php查询mysql数据库并将结果保存到数组的方法
2015/03/18 PHP
php 防止表单重复提交两种实现方法
2016/11/03 PHP
javascript 页面划词搜索JS
2009/09/28 Javascript
匹配任意字符的正则表达式写法
2010/04/29 Javascript
某人初学javascript的时候写的学习笔记
2010/12/30 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
调试Javascript代码(浏览器F12及VS中debugger关键字)
2013/01/25 Javascript
jquery解析xml字符串简单示例
2014/04/11 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
JavaScript实现的伸展收缩型菜单代码
2015/10/14 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
jQuery基础的工厂函数以及定时器的经典实例分析
2016/05/20 Javascript
Angular中使用ui router实现系统权限控制及开发遇到问题
2016/09/23 Javascript
网站发布后Bootstrap框架引用woff字体无法正常显示的解决方法
2016/11/24 Javascript
Vue.directive自定义指令的使用详解
2017/03/10 Javascript
angular select 默认值设置方法
2017/06/23 Javascript
Vue请求java服务端并返回数据代码实例
2019/11/28 Javascript
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
2020/05/29 jQuery
python登录QQ邮箱发信的实现代码
2013/02/10 Python
Python中的列表生成式与生成器学习教程
2016/03/13 Python
Python 查看list中是否含有某元素的方法
2018/06/27 Python
python的setattr函数实例用法
2020/12/16 Python
css3实现平移效果(transfrom:translate)的示例
2020/11/13 HTML / CSS
HTML5文档结构标签
2017/04/21 HTML / CSS
阿迪达斯俄罗斯官方商城:adidas俄罗斯
2017/03/08 全球购物
New Balance波兰官方商城:始于1906年,百年慢跑品牌
2017/08/15 全球购物
联想新西兰官方网站:Lenovo New Zealand
2018/10/30 全球购物
MySQL面试题
2014/01/12 面试题
社区七一党员活动方案
2014/01/25 职场文书
财产公证书样本
2014/04/04 职场文书
个人工作主要事迹
2014/05/08 职场文书
改革共识倡议书
2014/08/29 职场文书
项目验收申请报告
2015/05/15 职场文书
教学副校长工作总结
2015/08/13 职场文书
MySQL分区以及建索引的方法总结
2022/04/13 MySQL