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 相关文章推荐
alixixi runcode.asp的代码不错的应用
Aug 08 Javascript
JQuery 动画卷页 返回顶部 动画特效(兼容Chrome)
Feb 15 Javascript
基于jquery的动态创建表格的插件
Apr 05 Javascript
原生js事件的添加和删除的封装
Jul 01 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
Mar 12 Javascript
Bootstrap入门书籍之(一)排版
Feb 17 Javascript
javascript如何创建对象
Aug 29 Javascript
jQuery实现三级联动效果
Mar 02 Javascript
Vue中保存用户登录状态实例代码
Jun 07 Javascript
JavaScript中重名的函数与对象示例详析
Sep 28 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
Aug 31 Javascript
微信小程序签到功能
Oct 31 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 获取本机外网/公网IP的代码
2010/05/09 PHP
php set_time_limit(0) 设置程序执行时间的函数
2010/05/26 PHP
PHP中函数rand和mt_rand的区别比较
2012/12/26 PHP
浅析PHP原理之变量(Variables inside PHP)
2013/08/09 PHP
PHPMailer的主要功能特点和简单使用说明
2014/02/17 PHP
List Installed Software Features
2007/06/11 Javascript
js 内存释放问题
2010/04/25 Javascript
基于jQuery的为attr添加id title等效果的实现代码
2011/04/20 Javascript
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
js 单击式的下拉菜单效果实例
2013/08/13 Javascript
alert出数组中的随即值代码
2014/09/25 Javascript
Node.js开发者必须了解的4个JS要点
2016/02/21 Javascript
JavaScript知识点总结(十)之this关键字
2016/05/31 Javascript
js仿小米手机上下滑动效果
2017/02/05 Javascript
浅析JS中什么是自定义react数据验证组件
2018/10/19 Javascript
Vue全局使用less样式,组件使用全局样式文件中定义的变量操作
2020/10/21 Javascript
[48:37]EG vs OG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python下载懒人图库JavaScript特效
2015/05/28 Python
python3.5使用tkinter制作记事本
2016/06/20 Python
Python实现网络端口转发和重定向的方法
2016/09/19 Python
Python 利用内置set函数对字符串和列表进行去重的方法
2018/06/29 Python
python 构造三维全零数组的方法
2018/11/12 Python
Python中字符串List按照长度排序
2019/07/01 Python
python 读写文件包含多种编码格式的解决方式
2019/12/20 Python
Python 剪绳子的多种思路实现(动态规划和贪心)
2020/02/24 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
2020/08/24 Python
CSS3中新增的对文本和字体的设置
2020/02/03 HTML / CSS
HTML5 Plus 实现手机APP拍照或相册选择图片上传功能
2016/07/13 HTML / CSS
资深地理教师自我评价
2013/09/21 职场文书
优秀部门获奖感言
2014/02/14 职场文书
保密协议书范本
2014/04/22 职场文书
小学生国庆演讲稿
2014/09/05 职场文书
交通事故起诉书
2015/05/19 职场文书
详解Python魔法方法之描述符类
2021/05/26 Python
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
2022/05/25 SQL Server
使用CSS实现音波加载效果
2023/05/07 HTML / CSS