jQuery实现右下角可缩放大小的层完整实例


Posted in Javascript onJune 20, 2016

本文实例讲述了jQuery实现右下角可缩放大小的层。分享给大家供大家参考,具体如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>大小可缩放层测试</title>
    <script type = "text/javascript" src="jquery-1.7.2.js"></script>
    <style type = "text/css">
      #fa{
        border:1px solid blue;
        overflow:auto;
        width:400px;
        height:400px;
      }
      #main{
        margin:0;
        padding:0;
        width:300px;
        height:280px;
        border:1px solid red;
      }
    </style>
    <script type = "text/javascript">
      $(function(){
        var div = getObj("main");
        div.onmousemove = function(e){
          var e = e || window.event;
          var posx = e.clientX;
          var posy = e.clientY;
          var l = div.offsetLeft;
          var t = div.offsetTop;
          var h = div.clientHeight;
          var w = div.clientWidth;
          var ol = l+w-10;
          var or = l+w+10;
          var ot = t+h-10;
          var ob = t+h+10;
          this.style.cursor = "";
          if(posx>ol && posx<or && posy >ot && posy<ob){
            div.style.cursor = "nw-resize";
          }
        }
        div.onmousedown = function(e){
          var e = e || window.event;
          var initX = e.clientX;
          var initY = e.clientY;
          var l = div.offsetLeft;
          var t = div.offsetTop;
          var h = div.clientHeight;
          var w = div.clientWidth;
          var ol = l+w-10;
          var or = l+w+10;
          var ot = t+h-10;
          var ob = t+h+10;
          if(initX>ol && initX<or && initY >ot && initY<ob){
            document.onmousemove = function(evt){
              var e = evt || window.event;
              var currX = e.clientX;
              var currY = e.clientY;
              div.style.width = w + (currX - initX)+"px";
              div.style.height = h+(currY-initY)+"px";
            }
            document.onmouseup = function(){
              document.onmousemove = null;
              document.onmouseup = null;
            }
          }
        }
      });
      function getObj(id){
        return document.getElementById(id);
      }
    </script>
  </head>
  <body>
    <div id = "fa">
      <div id = "main"></div>
    </div>
  </body>
</html>

函数封装后:

function resize(div){
  div.mousemove(function(e){
    var e = e || window.event;
    var posx = e.clientX;
    var posy = e.clientY;
    var l = div.offset().left;
    var t = div.offset().top;
    var h = div.height();
    var w = div.width();
    var ol = l+w-10;
    var or = l+w+10;
    var ot = t+h-10;
    var ob = t+h+10;
    $(this).css("cursor","");
    if(posx>ol && posx<or && posy >ot && posy<ob){
      $(this).css("cursor","nw-resize");
    }
  });
  div.mousedown(function(e){
    var e = e || window.event;
    var posx = e.clientX;
    var posy = e.clientY;
    var l = div.offset().left;
    var t = div.offset().top;
    var h = div.height();
    var w = div.width();
    var ol = l+w-10;
    var or = l+w+10;
    var ot = t+h-10;
    var ob = t+h+10;
    if(posx>=ol && posx<=or && posy >=ot && posy<=ob){
      document.onmousemove = function(e){
        var e = e || window.event;
        var currX = e.clientX;
        var currY = e.clientY;
        div.width(w + (currX - posx));
        div.height(h+(currY-posy));
      }
      $(document).mouseup(function(){
        document.onmousemove = null;
      });
    }
  });
}

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

Javascript 相关文章推荐
jquery 插件学习(三)
Aug 06 Javascript
JQuery动画和停止动画实例代码
Mar 01 Javascript
HTML,CSS,JavaScript速查表推荐
Dec 02 Javascript
jquery中添加属性和删除属性
Jun 03 Javascript
在JavaScript中访问字符串的子串
Jul 07 Javascript
举例讲解JavaScript substring()的使用方法
Nov 09 Javascript
jquery插件格式实例分析
Jun 16 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
Aug 03 Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
Jan 18 Javascript
JS构造一个html文本内容成文件流形式发送到后台
Jul 31 Javascript
如何测量vue应用运行时的性能
Jun 21 Javascript
用vue 实现手机触屏滑动功能
May 28 Javascript
需灵活掌握的Bootstrap预定义排版类 你精通吗?
Jun 20 #Javascript
Javascript中的arguments对象
Jun 20 #Javascript
JavaScript中获取HTML元素值的三种方法
Jun 20 #Javascript
BootStrap selectpicker
Jun 20 #Javascript
JS采用绝对定位实现回到顶部效果完整实例
Jun 20 #Javascript
基于Turn.js 实现翻书效果实例解析
Jun 20 #Javascript
js 获取经纬度的实现方法
Jun 20 #Javascript
You might like
ezSQL PHP数据库操作类库
2010/05/16 PHP
PHP之COOKIE支持详解
2010/09/20 PHP
PHP获取php,mysql,apche的版本信息示例代码
2014/01/16 PHP
PHP四种基本排序算法示例
2015/04/09 PHP
用PHP的socket实现客户端到服务端的通信实例详解
2017/02/04 PHP
javascript 设置文本框中焦点的位置
2009/11/20 Javascript
JavaScript初学者需要了解10个小技巧
2010/08/25 Javascript
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
jquery+json实现动态商品内容展示的方法
2016/01/14 Javascript
JS中实现函数return多个返回值的实例
2017/02/21 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
2017/07/17 jQuery
基于LayUI分页和LayUI laypage分页的使用示例
2017/08/02 Javascript
解决vue项目报错webpackJsonp is not defined问题
2018/03/14 Javascript
JavaScript动态加载重复绑定问题
2018/04/01 Javascript
微信小程序日期选择器实例代码
2018/07/18 Javascript
vue.js 图片上传并预览及图片更换功能的实现代码
2018/08/27 Javascript
Vue路由模块化配置的完整步骤
2019/08/14 Javascript
JS实现图片切换特效
2019/12/23 Javascript
微信小程序如何实现点击图片放大功能
2020/01/21 Javascript
[03:32]2014DOTA2西雅图邀请赛 CIS外卡赛赛前black专访
2014/07/09 DOTA
详细介绍Python语言中的按位运算符
2013/11/26 Python
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
python添加模块搜索路径方法
2017/09/11 Python
Windows下安装Django框架的方法简明教程
2018/03/28 Python
对python sklearn one-hot编码详解
2018/07/10 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
2021/01/05 Python
html5构建触屏网站之touch事件介绍
2013/01/07 HTML / CSS
Omio荷兰:预订火车、巴士和机票
2018/11/04 全球购物
酒店出纳岗位职责
2013/12/29 职场文书
大学校庆邀请函
2014/01/11 职场文书
医院护士见习期自我鉴定
2014/04/10 职场文书
格列佛游记读书笔记
2015/06/30 职场文书
学雷锋广播稿大全
2015/08/19 职场文书
比较node.js和Deno
2021/04/27 Javascript
解决python3安装pandas出错的问题
2021/05/20 Python