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的一个简单的脚本验证插件
Apr 05 Javascript
简要了解jQuery移动web开发的响应式布局设计
Dec 04 Javascript
jQuery Validate初步体验(二)
Dec 12 Javascript
全面解析DOM操作和jQuery实现选项移动操作代码分享
Jun 07 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
Jan 21 Javascript
js实现不提示直接关闭网页窗口
Mar 30 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
Apr 20 Javascript
jquery.uploadView 实现图片预览上传功能
Aug 10 jQuery
逐行分析鸿蒙系统的 JavaScript 框架(推荐)
Sep 17 Javascript
小程序中手机号识别的示例
Dec 14 Javascript
如何在VUE中使用vue-awesome-swiper
Jan 04 Vue.js
three.js中多线程的使用及性能测试详解
Jan 07 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中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
2012/01/16 PHP
php 如何获取文件的后缀名
2016/06/05 PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
2018/10/14 PHP
php 中phar包的使用教程详解
2018/10/26 PHP
TP5框架请求响应参数实例分析
2019/10/17 PHP
php设计模式之建造器模式分析【星际争霸游戏案例】
2020/01/23 PHP
PHP 实现 WebSocket 协议原理与应用详解
2020/04/22 PHP
js getBoundingClientRect() 来获取页面元素的位置
2010/11/25 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
2014/05/11 Javascript
jQuery中:image选择器用法实例
2015/01/03 Javascript
AngularJS的表单使用详解
2015/06/17 Javascript
js中通过getElementsByName访问name集合对象的方法
2016/10/31 Javascript
JavaScript调试的多个必备小Tips
2017/01/15 Javascript
js 性能优化之快速响应的用户界面
2017/02/15 Javascript
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
2019/04/16 Javascript
vue+element实现表格新增、编辑、删除功能
2019/05/28 Javascript
jQuery zTree如何改变指定节点文本样式
2020/10/16 jQuery
Selenium执行JavaScript脚本的方法示例
2020/12/31 Javascript
[05:40]DOTA2荣耀之路6:Wings最后进攻
2018/05/30 DOTA
快速了解Python相对导入
2018/01/12 Python
python基于物品协同过滤算法实现代码
2018/05/31 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
2020/03/16 Python
如何用python写个模板引擎
2021/01/14 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
css3 column实现卡片瀑布流布局的示例代码
2018/06/22 HTML / CSS
美国时尚大码女装购物网站:Avenue
2019/05/24 全球购物
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
C#笔试题集合
2013/06/21 面试题
高校自主招生自荐信
2013/12/09 职场文书
我与祖国共奋进演讲稿
2014/09/13 职场文书
工作证明范本(2篇)
2014/09/14 职场文书
庆元旦演讲稿
2014/09/15 职场文书
同学毕业留言寄语
2015/02/27 职场文书
二手房购房意向书
2015/05/09 职场文书
如何在CocosCreator里画个炫酷的雷达图
2021/04/16 Javascript
使用qt quick-ListView仿微信好友列表和聊天列表的示例代码
2021/06/13 Python