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 相关文章推荐
比较全的JS checkbox全选、取消全选、删除功能代码
Dec 19 Javascript
页面只有一个text的时候,回车自动submit的解决方法
Aug 12 Javascript
JavaScript实现找出数组中最长的连续数字序列
Sep 03 Javascript
Jquery api 速查表分享
Jan 12 Javascript
JS实现文档加载完成后执行代码
Jul 09 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
Aug 24 Javascript
AngularJS入门教程之链接与图片模板详解
Aug 19 Javascript
vue.js学习之vue-cli定制脚手架详解
Jul 02 Javascript
解析Vue 2.5的Diff算法
Nov 28 Javascript
基于node打包可执行文件工具_Pkg使用心得分享
Jan 24 Javascript
微信小程序button组件使用详解
Jan 31 Javascript
jQuery实现列表的增加和删除功能
Jun 14 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的十大要点(上)
2009/02/04 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
2014/05/10 PHP
php中的字符编码转换函数用法示例
2014/10/20 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
Javascript打印网页部分内容的脚本
2008/11/17 Javascript
动态为事件添加js代码示例
2009/02/15 Javascript
在javascript中关于节点内容加强
2013/04/11 Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
2013/04/19 Javascript
为jQuery添加Webkit的触摸的方法分享
2014/02/02 Javascript
JQuery实现图片轮播效果
2015/09/15 Javascript
jQuery实现宽屏图片轮播实例教程
2015/11/24 Javascript
jquery实现文本框textarea自适应高度
2016/03/09 Javascript
BootStrap下拉菜单和滚动监听插件实现代码
2016/09/26 Javascript
浅析Ajax语法
2016/12/05 Javascript
使用ionic切换页面卡顿的解决方法
2016/12/16 Javascript
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
2017/03/21 jQuery
JS返回顶部实例代码
2020/08/09 Javascript
详解js的视频和音频采集
2018/08/09 Javascript
Vue-router 报错NavigationDuplicated的解决方法
2020/03/31 Javascript
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
2020/07/18 Javascript
vue项目配置同一局域网可使用ip访问的操作
2020/10/23 Javascript
Python获取DLL和EXE文件版本号的方法
2015/03/10 Python
Python反射的用法实例分析
2018/02/11 Python
python调试神器PySnooper的使用
2019/07/03 Python
对django中foreignkey的简单使用详解
2019/07/28 Python
Python类中方法getitem和getattr详解
2019/08/30 Python
使用CSS3设计地图上的雷达定位提示效果
2016/04/05 HTML / CSS
整理HTML5的一些新特性与Canvas的常用属性
2016/01/29 HTML / CSS
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
eDreams葡萄牙:全球最大的在线旅行社之一
2019/04/15 全球购物
同步和异步有何异同,在什么情况下分别使用他们?
2012/12/28 面试题
大学生活学习的自我评价
2013/12/03 职场文书
节水倡议书范文
2014/04/15 职场文书
2014年电工工作总结
2014/11/20 职场文书
js之ajax文件上传
2021/05/13 Javascript
Jupyter Notebook内使用argparse报错的解决方案
2021/06/03 Python