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 30 Javascript
javascript写的一个链表实现代码
Oct 25 Javascript
js控制页面控件隐藏显示的两种方法介绍
Oct 09 Javascript
jQuery实现仿路边灯箱广告图片轮播效果
Apr 15 Javascript
JS鼠标拖拽实例分析
Nov 23 Javascript
js console.log打印对像与数组用法详解
Jan 21 Javascript
JS和jQuery使用submit方法无法提交表单的原因分析及解决办法
May 17 Javascript
通过命令行生成vue项目框架的方法
Jul 12 Javascript
Jquery动态列功能完整实例
Aug 30 jQuery
layui使用templet格式化表格数据的方法
Sep 16 Javascript
JS中比较两个Object数组是否相等方法实例
Nov 11 Javascript
微信小程序静默登录的实现代码
Jan 08 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
一个简单的自动发送邮件系统(三)
2006/10/09 PHP
PHP判断浏览器、判断语言代码分享
2015/03/05 PHP
Windows 下安装 swoole 图文教程(php)
2017/06/05 PHP
网页设计常用的一些技巧
2006/12/22 Javascript
jquery $.ajax入门应用二
2008/11/19 Javascript
jQuery实现自动调整字体大小的方法
2015/06/15 Javascript
轻松实现javascript图片轮播特效
2016/01/13 Javascript
js严格模式总结(分享)
2016/08/22 Javascript
微信js-sdk界面操作接口用法示例
2016/10/12 Javascript
详解NodeJs支付宝移动支付签名及验签
2017/01/06 NodeJs
JavaScript实现的XML与JSON互转功能详解
2017/02/16 Javascript
JS操作input标签属性checkbox全选的实现代码
2017/03/02 Javascript
js数组去重的方法总结
2019/01/18 Javascript
vue自定义指令之面板拖拽的实现
2019/04/14 Javascript
移动端手指操控左右滑动的菜单
2019/09/08 Javascript
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
2015/04/11 Python
Python中常见的数据类型小结
2015/08/29 Python
解决python3 urllib中urlopen报错的问题
2017/03/25 Python
python机器人行走步数问题的解决
2018/01/29 Python
PIL对上传到Django的图片进行处理并保存的实例
2019/08/07 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
巴西一家专门从事家居和装饰的连锁店:Camicado
2019/08/14 全球购物
全球才华横溢工匠的家居装饰、珠宝和礼物:NOVICA
2021/01/22 全球购物
工程造价管理专业大专生求职信
2013/10/06 职场文书
七年级地理教学反思
2014/01/26 职场文书
医药销售求职信范文
2014/02/01 职场文书
汽车检测与维修专业求职信
2014/07/04 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
新闻学专业职业生涯规划范文:我的人生我做主
2014/09/12 职场文书
防灾减灾标语
2014/10/07 职场文书
世界文化遗产导游词
2015/02/13 职场文书
2015年乡镇环保工作总结
2015/04/22 职场文书
经营场所证明范本
2015/06/19 职场文书
三八妇女节新闻稿
2015/07/17 职场文书
2015年中学团委工作总结
2015/07/22 职场文书
redis复制有可能碰到的问题汇总
2022/04/03 Redis