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 相关文章推荐
jquery isType() 类型判断代码
Feb 14 Javascript
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
Jul 11 Javascript
给文字加上着重号的JS代码
Nov 12 Javascript
javascript实现动态模态绑定grid过程代码
Sep 22 Javascript
jQuery打字效果实现方法(附demo源码下载)
Dec 18 Javascript
js+css绘制颜色动态变化的圈中圈效果
Jan 27 Javascript
纯css下拉菜单 无需js
Aug 15 Javascript
微信小程序 websocket 实现SpringMVC+Spring+Mybatis
Aug 04 Javascript
JS+HTML+CSS实现轮播效果
Nov 28 Javascript
laravel实现中文和英语互相切换的例子
Sep 30 Javascript
vue中的双向数据绑定原理与常见操作技巧详解
Mar 16 Javascript
微信小程序淘宝首页双排图片布局排版代码(推荐)
Oct 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
php实现singleton()单例模式实例
2014/11/06 PHP
PHP针对JSON操作实例分析
2015/01/12 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
2016/04/14 PHP
php及codeigniter使用session-cookie的方法(详解)
2017/04/06 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
2019/10/15 PHP
jquery isType() 类型判断代码
2011/02/14 Javascript
JavaScript调试工具汇总
2014/12/23 Javascript
javascript实现十秒钟后注册按钮可点击的方法
2015/05/13 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
2015/10/10 Javascript
jQuery+ajax实现文章点赞功能的方法
2015/12/31 Javascript
安装使用Mongoose配合Node.js操作MongoDB的基础教程
2016/03/01 Javascript
canvas实现弧形可拖动进度条效果
2017/05/11 Javascript
AngularJS常见过滤器用法实例总结
2017/07/06 Javascript
jQuery dateRangePicker插件使用方法详解
2017/07/28 jQuery
详解为Bootstrap Modal添加拖拽的方法
2018/01/05 Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
2018/07/17 Javascript
使用jQuery给Table动态增加行、清空table的方法
2018/09/05 jQuery
Vue.js 十五分钟入门图文教程
2018/09/12 Javascript
AngularJS $http post 传递参数数据的方法
2018/10/09 Javascript
小程序点击图片实现自动播放视频
2020/05/29 Javascript
vuex vue简单使用知识点总结
2019/08/29 Javascript
跟老齐学Python之通过Python连接数据库
2014/10/28 Python
python基础while循环及if判断的实例讲解
2017/08/25 Python
详解Django中间件的5种自定义方法
2018/07/26 Python
解决python -m pip install --upgrade pip 升级不成功问题
2020/03/05 Python
python实现Pyecharts实现动态地图(Map、Geo)
2020/03/25 Python
基于python SMTP实现自动发送邮件教程解析
2020/06/02 Python
Python3内置函数chr和ord实现进制转换
2020/06/05 Python
详解matplotlib绘图样式(style)初探
2021/02/03 Python
英国最出名高街品牌:Forever Unique
2018/02/24 全球购物
中专毕业生自荐信范文
2013/11/28 职场文书
合同专员岗位职责
2013/12/18 职场文书
妈妈别哭观后感
2015/06/08 职场文书
焦裕禄纪念馆观后感
2015/06/09 职场文书
2015年校本培训工作总结
2015/07/24 职场文书
ubuntu下常用apt命令介绍
2022/06/05 Servers