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 字符串连接[性能比较]
May 10 Javascript
angular+ionic 的app上拉加载更新数据实现方法
Jan 16 Javascript
轻松理解Javascript变量的相关问题
Jan 20 Javascript
在百度搜索结果中去除掉一些网站的资料(通过js控制不让显示)
May 02 Javascript
详解如何使用webpack打包Vue工程
May 27 Javascript
Vue使用vue-cli创建项目
Sep 01 Javascript
vue.js简单配置axios的方法详解
Dec 13 Javascript
jquery应用实例分享_实现手风琴特效
Feb 01 jQuery
浅谈react-router@4.0 使用方法和源码分析
Jun 04 Javascript
JavaScript 实现同时选取多个时间段的方法
Oct 17 Javascript
详解微信小程序工程化探索之webpack实战
Apr 20 Javascript
echarts饼图各个板块之间的空隙如何实现
Dec 01 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自动反斜杠的函数代码
2010/01/05 PHP
[原创]php使用curl判断网页404(不存在)的方法
2016/06/23 PHP
PHP判断文件是否被引入的方法get_included_files用法示例
2016/11/29 PHP
用一段js程序来实现动画功能
2007/03/06 Javascript
图片上传即时显示缩略图的js代码
2009/05/27 Javascript
Js数组的操作push,pop,shift,unshift等方法详细介绍
2012/12/28 Javascript
使用JavaScript 实现的人脸检测
2015/03/24 Javascript
详解js中class的多种函数封装方法
2016/01/03 Javascript
JS三级可折叠菜单实现方法
2016/02/29 Javascript
JS onkeypress兼容性写法详解
2016/04/27 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
2018/01/23 Javascript
vue 项目地址去掉 #的方法
2018/10/20 Javascript
JavaScript学习笔记之数组基本操作示例
2019/01/09 Javascript
bootstrap-table formatter 使用vue组件的方法
2019/05/09 Javascript
微信小程序点击顶部导航栏切换样式代码实例
2019/11/12 Javascript
Vue组件化开发之通用型弹出框的实现
2020/02/28 Javascript
[03:55]DOTA2完美大师赛选手传记——LFY.MONET
2017/11/18 DOTA
用python写的一个wordpress的采集程序
2016/02/27 Python
Python基于回溯法子集树模板解决马踏棋盘问题示例
2017/09/11 Python
python实现学生管理系统
2018/01/11 Python
Django自定义用户认证示例详解
2018/03/14 Python
python psutil库安装教程
2018/03/19 Python
Python实现Event回调机制的方法
2019/02/13 Python
python3中property使用方法详解
2019/04/23 Python
配置python的编程环境之Anaconda + VSCode的教程
2020/03/29 Python
anello泰国官方网站:日本流行包包品牌
2019/08/08 全球购物
美国最好的葡萄酒网上商店:Wine Library
2019/11/02 全球购物
优秀应届生推荐信
2013/11/09 职场文书
运动会演讲稿50字
2014/08/25 职场文书
民主生活会对照检查材料(统计局)
2014/09/21 职场文书
手机被没收的检讨书
2014/10/04 职场文书
2014年高校辅导员工作总结
2014/12/09 职场文书
执行力心得体会范文
2016/01/11 职场文书
Python中基础数据类型 set集合知识点总结
2021/08/02 Python
html粘性页脚的具体使用
2022/01/18 HTML / CSS
python的列表生成式,生成器和generator对象你了解吗
2022/03/16 Python