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实现的弹出层背景置灰-模拟(easyui dialog)
Dec 27 Javascript
在AngularJS应用中实现一些动画效果的代码
Jun 18 Javascript
关于Jquery中的事件绑定总结
Oct 26 Javascript
Javascript中引用类型传递的知识点小结
Mar 06 Javascript
JS中Safari浏览器中的Date
Jul 17 Javascript
vue.js层叠轮播效果的实例代码
Nov 08 Javascript
原生JS检测CSS3动画是否结束的方法详解
Jan 27 Javascript
JavaScript基于遍历操作实现对象深拷贝功能示例
Mar 05 Javascript
JavaScript实现PC端四格密码输入框功能
Feb 19 Javascript
jquery检测上传文件大小示例
Apr 26 jQuery
vue使用axios实现excel文件下载的功能
Jul 16 Javascript
JS Canvas接口和动画效果大全
Apr 29 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
别人整理的服务器变量:$_SERVER
2006/10/20 PHP
让你的网站首页自动选择语言转跳
2006/12/06 PHP
Yii2.0框架behaviors方法使用实例分析
2019/09/30 PHP
laravel csrf排除路由,禁止,关闭指定路由的例子
2019/10/21 PHP
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
Nodejs实战心得之eventproxy模块控制并发
2015/10/27 NodeJs
基于javascript实现根据身份证号码识别性别和年龄
2016/01/22 Javascript
JS产生随机数的几个用法详解
2016/06/22 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
2016/11/23 Javascript
js+html5实现页面可刷新的倒计时效果
2017/07/15 Javascript
浅谈在vue中用webpack打包之后运行文件的问题以及相关配置方法
2018/02/21 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
解决vue.js this.$router.push无效的问题
2018/09/03 Javascript
iview的table组件自带的过滤器实现
2019/07/12 Javascript
[01:25]2014DOTA2国际邀请赛 zhou分析LGD比赛情况
2014/07/14 DOTA
python简单文本处理的方法
2015/07/10 Python
Python自动化测试Eclipse+Pydev 搭建开发环境
2016/08/15 Python
Python爬虫DNS解析缓存方法实例分析
2017/06/02 Python
Python实现的视频播放器功能完整示例
2018/02/01 Python
如何在python字符串中输入纯粹的{}
2018/08/22 Python
Python中创建二维数组
2018/10/17 Python
Python函数定义及传参方式详解(4种)
2019/03/18 Python
Python学习笔记之集合的概念和简单使用示例
2019/08/22 Python
Python接口测试环境搭建过程详解
2020/06/29 Python
美国咖啡批发网站:Coffee.org
2017/06/29 全球购物
DataReader和DataSet的异同
2014/12/31 面试题
应届行政管理专业个人自我评价
2013/12/28 职场文书
校园活动宣传方案
2014/03/28 职场文书
毕业评语大全
2014/05/04 职场文书
县级文明单位申报材料
2014/05/23 职场文书
小学教师节活动总结
2015/03/20 职场文书
护士心得体会范文
2016/01/25 职场文书
Ajax 的初步实现(使用vscode+node.js+express框架)
2021/06/18 Javascript
详解Flutter和Dart取消Future的三种方法
2022/04/07 Java/Android
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
2022/04/08 Java/Android