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 相关文章推荐
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
Mar 18 Javascript
KnockoutJS 3.X API 第四章之click绑定
Oct 10 Javascript
原生js实现放大镜效果
Jan 11 Javascript
微信小程序 JS动态修改样式的实现代码
Feb 10 Javascript
jQuery使用JSONP实现跨域获取数据的三种方法详解
May 04 jQuery
react开发教程之React 组件之间的通信方式
Aug 12 Javascript
jquery实现图片跟随鼠标的实例
Oct 17 jQuery
浅谈Fetch 数据交互方式
Dec 20 Javascript
javascript严格模式详解(含严格模式与非严格模式的区别)
Nov 12 Javascript
vue下canvas裁剪图片实例讲解
Apr 16 Javascript
基于javascript的无缝滚动动画1
Aug 07 Javascript
一篇文章了解正则表达式的替换技巧
Feb 24 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完整的日历类(CLASS)
2006/11/27 PHP
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
Php-Redis安装测试笔记
2015/03/05 PHP
IE 当eval遇上function的处理
2011/08/09 Javascript
jquery预览图片实现鼠标放上去显示实际大小
2014/01/16 Javascript
JavaScript新窗口与子窗口传值详解
2014/02/11 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
javascript中判断json的方法总结
2015/08/27 Javascript
高效利用Angular中内置服务$http、$location等
2016/03/22 Javascript
Google 地图获取API Key详细教程
2016/08/06 Javascript
js HTML5上传示例代码完整版
2016/10/10 Javascript
js运动事件函数详解
2016/10/21 Javascript
微信小程序-小说阅读小程序实例(demo)
2017/01/12 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
2017/04/22 Javascript
JavaScript设置名字输入不合法的实现方法
2017/05/23 Javascript
微信小程序实现image组件图片自适应宽度比例显示的方法
2018/01/16 Javascript
使用vue-cli3新建一个项目并写好基本配置(推荐)
2019/04/24 Javascript
解决echarts vue数据更新,视图不更新问题(echarts嵌在vue弹框中)
2020/07/20 Javascript
浅述python中argsort()函数的实例用法
2017/03/30 Python
python非递归全排列实现方法
2017/04/10 Python
详解如何利用Cython为Python代码加速
2018/01/27 Python
django之使用celery-把耗时程序放到celery里面执行的方法
2019/07/12 Python
python进程的状态、创建及使用方法详解
2019/12/06 Python
基于virtualenv创建python虚拟环境过程图解
2020/03/30 Python
Python Matplotlib绘图基础知识代码解析
2020/08/31 Python
台湾良兴购物网:EcLife
2019/12/01 全球购物
客户经理岗位职责
2013/12/08 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
银行服务明星推荐材料
2014/05/29 职场文书
个人年终总结范文
2015/03/09 职场文书
行政主管岗位职责范本
2015/04/09 职场文书
教育教学工作反思
2016/02/24 职场文书
技术入股合作协议书
2016/03/21 职场文书
如何利用Python实现n*n螺旋矩阵
2022/01/18 Python
HTML中的表格元素介绍
2022/02/28 HTML / CSS
css实现左上角飘带效果的完整代码
2022/03/18 HTML / CSS