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实现自己的DOM选择器原理及代码
Mar 04 Javascript
onbeforeunload与onunload事件异同点总结
Jun 24 Javascript
js计算两个时间之间天数差的实例代码
Nov 19 Javascript
javascript分页代码实例分享(js分页)
Dec 13 Javascript
使用jsonp完美解决跨域问题
Nov 27 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
Jun 11 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
Jun 18 Javascript
jQuery插件实现带圆点的焦点图片轮播切换
Jan 18 Javascript
ECMAScript6轮播图实践知识总结
Aug 17 Javascript
Ionic2调用本地SQlite实例
Apr 22 Javascript
Parcel 打包示例(React HelloWorld)
Jan 16 Javascript
jQuery实现输入框的放大和缩小功能示例
Jul 21 jQuery
需灵活掌握的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 命令行工具 shell_exec, exec, passthru, system详细使用介绍
2011/09/11 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
2017/03/15 PHP
javascript动画效果类封装代码
2007/08/28 Javascript
javascript的console.log()用法小结
2012/05/31 Javascript
js实现div弹出层的方法
2014/11/20 Javascript
AngularJS 表达式详解及实例代码
2016/09/14 Javascript
js实现增加数字显示的环形进度条效果
2017/02/05 Javascript
Javascript实现基本运算器
2017/07/15 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
javascript匿名函数中的'return function()'作用
2018/10/15 Javascript
Vue和React组件之间的传值方式详解
2019/01/31 Javascript
Element中的Cascader(级联列表)动态加载省\市\区数据的方法
2019/03/27 Javascript
js实现点击生成随机div
2020/01/16 Javascript
原生JavaScript实现拖动校验功能
2020/09/29 Javascript
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
Python实现方便使用的级联进度信息实例
2015/05/05 Python
Python读写文件方法总结
2015/06/09 Python
20招让你的Python飞起来!
2016/09/27 Python
简单谈谈python中的多进程
2016/11/06 Python
Python实现从log日志中提取ip的方法【正则提取】
2018/03/31 Python
Python3中编码与解码之Unicode与bytes的讲解
2019/02/28 Python
python 模拟创建seafile 目录操作示例
2019/09/26 Python
Python socket聊天脚本代码实例
2020/01/02 Python
Django 设置多环境配置文件载入问题
2020/02/25 Python
Python如何使用PIL Image制作GIF图片
2020/05/16 Python
降低python版本的操作方法
2020/09/11 Python
HTML5页面嵌入小程序没有返回按钮及返回页面空白的问题
2020/05/28 HTML / CSS
美国摩托车头盔、零件、齿轮及配件商店:Cycle Gear
2019/06/12 全球购物
美国相机和电子产品零售商:Beach Camera
2020/11/26 全球购物
会话Bean的种类
2013/11/07 面试题
班主任经验交流会主持词
2014/04/01 职场文书
校庆标语集锦
2014/06/25 职场文书
法人委托书的范本格式
2014/09/11 职场文书
乡镇党建工作汇报材料
2014/10/27 职场文书
中学生综合素质自我评价
2015/03/06 职场文书
学会Python数据可视化必须尝试这7个库
2021/06/16 Python