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 相关文章推荐
JavaScript字符串插入、删除、替换函数使用示例
Jul 25 Javascript
jQuery EasyUI datagrid实现本地分页的方法
Feb 13 Javascript
jquery实现下拉框功能效果【实例代码】
May 06 Javascript
mvc中form表单提交的三种方式(推荐)
Aug 10 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
Jan 20 Javascript
JS简单实现数组去重的方法分析
Oct 14 Javascript
浅谈Node.js之异步流控制
Oct 25 Javascript
完美解决linux下node.js全局模块找不到的情况
May 16 Javascript
小程序实现多列选择器
Feb 15 Javascript
微信小程序中为什么使用var that=this
Aug 27 Javascript
如何阻止移动端浏览器点击图片浏览
Aug 29 Javascript
Openlayers实现测量功能
Sep 25 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
php面向对象全攻略 (七) 继承性
2009/09/30 PHP
关于php curl获取301或302转向的网址问题的解决方法
2011/06/02 PHP
php设计模式之观察者模式的应用详解
2013/05/21 PHP
php通过文件流方式复制文件的方法
2015/03/13 PHP
yii2实现分页,带搜索的分页功能示例
2017/01/07 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
深入解析PHP底层机制及相关原理
2020/12/11 PHP
jquery text,radio,checkbox,select操作实现代码
2009/07/09 Javascript
javascript event在FF和IE的兼容传参心得(绝对好用)
2014/07/10 Javascript
JS实现Fisheye效果动感放大菜单代码
2015/10/21 Javascript
JavaScript动态插入CSS的方法
2015/12/10 Javascript
JS获取当前使用的浏览器名字以及版本号实现方法
2016/08/19 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
2016/09/23 Javascript
Vue resource中的GET与POST请求的实例代码
2017/07/21 Javascript
vue小图标favicon不显示的解决方案
2017/09/19 Javascript
IntersectionObserver实现图片懒加载的示例
2017/09/29 Javascript
vue中子组件传递数据给父组件的讲解
2019/01/27 Javascript
Python批量创建迅雷任务及创建多个文件
2016/02/13 Python
浅谈Python数据类型判断及列表脚本操作
2016/11/04 Python
Django中在xadmin中集成DjangoUeditor过程详解
2019/07/24 Python
Python基础之函数原理与应用实例详解
2020/01/03 Python
Python导入模块包原理及相关注意事项
2020/03/25 Python
python将dict中的unicode打印成中文实例
2020/05/11 Python
python实现在线翻译
2020/06/18 Python
香蕉共和国Banana Republic官网:美国GAP旗下偏贵族风格服饰品牌
2016/11/21 全球购物
就业自荐书
2013/12/05 职场文书
部队学习十八大感言
2014/01/11 职场文书
希特勒经典演讲稿
2014/05/19 职场文书
工作疏忽、懈怠的检讨书
2014/09/11 职场文书
四风问题自查自纠工作情况报告
2014/10/28 职场文书
学生犯错保证书
2015/05/09 职场文书
2015年度内部审计工作总结
2015/05/20 职场文书
聘任通知书
2015/09/21 职场文书
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL