<html>

<head>
<title>拖动鼠标改变div层的大小宽度</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<style> 
{
    box-sizing: border-box; 
    moz-box-sizing: border-box
}

#testDiv {
    background-color: buttonface;
    background-repeat: repeat;
    background-attachment: scroll;
    color: #3969A5;
    height: 300px;
    left: 30px;
    overflow: hidden;
    width: 500;
    z-index: 2;
    border: 2px outset white;
    margin: 0px;
    padding: 2px;
    background-position: 0% 50%
}

body {
    font-family: Verdana;
    font-size: 9pt
}

#innerNice {
    background-color: white;
    background-repeat: repeat;
    background-attachment: scroll;
    color: #3969A5;
    height: 90%;
    width: 100%;
    overflow: auto;
    border: 2px inset white;
    padding: 8px;
    background-position: 0% 50%;
    margin-top: 10%;
}

.drag {
    position: absolute;
    background: #0000CC;
    top: 100px;
    left: 200px;
    padding: 0;
    height: 1;
    width: 1;
}
</style>

<meta content="Microsoft FrontPage 4.0" name="GENERATOR">
<meta name="ProgId" content="FrontPage.Editor.Document">
</head>

<body>
<div class="drag">
<div class="resizeMe" id="testDiv">

<div id="innerNice">
    <p align="center"> </p>
    <p align="center">
    请在边框处拖动鼠标
    <p> </p>
    <p> </p>
    <p> </p>
    <p align="center">~~~~~~~~~~~~</p>
  </div>
</div>
</div>

</body>
<script type="text/javascript" src="jquery.min.js"></script>
<script>

var theobject = null; //This gets a value as soon as a resize start
var remove=false;
function resizeObject() {
 this.el= null; //pointer to the object
 this.dir    = "";      //type of current resize (n, s, e, w, ne, nw, se, sw)
 this.grabx = null;     //Some useful values
 this.graby = null;
 this.width = null;
 this.height = null;
 this.left = null;
 this.top = null;
}

//Find out what kind of resize! Return a string inlcluding the directions
function getDirection(el) {
 var xPos, yPos, offset, dir;
 dir = "";

xPos = window.event.offsetX;
 yPos = window.event.offsetY;

offset = 8; //The distance from the edge in pixels

if (yPos<offset) dir += "n";
 else if (yPos > el.offsetHeight-offset) dir += "s";
 if (xPos<offset) dir += "w";
 else if (xPos > el.offsetWidth-offset) dir += "e";

return dir;
}

function doDown() {
 var el = getReal(event.srcElement, "className", "resizeMe");

if (el == null) {
  theobject = null;
  return;
 }

dir = getDirection(el);
 if (dir == "") return;
remove = false;
 theobject = new resizeObject();
  
 theobject.el = el;
 theobject.dir = dir;

theobject.grabx = window.event.clientX;
 theobject.graby = window.event.clientY;
 theobject.width = el.offsetWidth;
 theobject.height = el.offsetHeight;
 theobject.left = el.offsetLeft;
 theobject.top = el.offsetTop;

window.event.returnValue = false;
 window.event.cancelBubble = true;
}

function doUp() {
 if (theobject != null) {
  theobject = null;
 }
 remove = true;
}

function doMove() {
 var el, xPos, yPos, str, xMin, yMin;
 xMin = 8; //The smallest width possible
 yMin = 8; //             height

el = getReal(event.srcElement, "className", "resizeMe");

if (el.className == "resizeMe") {
  str = getDirection(el);
 //Fix the cursor 
  if (str == "") str = "default";
  else str += "-resize";
  el.style.cursor = str;
 }
 
//Dragging starts here
 if(theobject != null) {
  if (dir.indexOf("e") != -1)
   theobject.el.style.width = Math.max(xMin, theobject.width + window.event.clientX - theobject.grabx) + "px";
 
  if (dir.indexOf("s") != -1)
   theobject.el.style.height = Math.max(yMin, theobject.height + window.event.clientY - theobject.graby) + "px";

if (dir.indexOf("w") != -1) {
   theobject.el.style.left = Math.min(theobject.left + window.event.clientX - theobject.grabx, theobject.left + theobject.width - xMin) + "px";
   theobject.el.style.width = Math.max(xMin, theobject.width - window.event.clientX + theobject.grabx) + "px";
  }
  if (dir.indexOf("n") != -1) {
   theobject.el.style.top = Math.min(theobject.top + window.event.clientY - theobject.graby, theobject.top + theobject.height - yMin) + "px";
   theobject.el.style.height = Math.max(yMin, theobject.height - window.event.clientY + theobject.graby) + "px";
  }
  
  window.event.returnValue = false;
  window.event.cancelBubble = true;
 } 
}

function getReal(el, type, value) {
 temp = el;
 while ((temp != null) && (temp.tagName != "BODY")) {
  if (eval("temp." + type) == value) {
   el = temp;
   return el;
  }
  temp = temp.parentElement;
 }
 return el;
}

document.onmousedown = doDown;
document.onmouseup   = doUp;
document.onmousemove = doMove;

$(".drag").ready(function(){ 
  
  var _x,_y;
  $(".drag").mousedown(function(e){ 
    move=true; 
    _x=e.pageX-parseInt($(".drag").css("left")); 
    _y=e.pageY-parseInt($(".drag").css("top")); 
  }); 
  $(document).mousemove(function(e){ 
    if(move&&remove){ 
      var x=e.pageX-_x;//控件左上角到屏幕左上角的相对位置 
      var y=e.pageY-_y; 
      $(".drag").css({"top":y,"left":x}); 
    } 
  }).mouseup(function(){ 
    move=false; 
  }); 
})

</script>
</html>

下载地址:https://download.csdn.net/download/sdf295953/10618749

jquery对div的移动以及改变大小相关推荐

  1. php 页面拖动改变大小,鼠标拖动改变DIV等网页元素的大小的实现方法

    1.初次实现 1.1 html代码 div change width by drag div change width by drag 1.2 js代码 var eleLeft = $('#myDiv ...

  2. Bootstrap布局自动拉伸改变大小

    记录一下学习Bootstrap布局自动拉伸 <!doctype html> <html> <head><meta charset="utf-8&qu ...

  3. 一款基于jquery的下拉点击改变背景图片

    今天给大家介绍一款基于jquery的下拉点击改变背景图片.单击右上角的图片,下拉显示可选择的背景图片,单击图片变为背景图.效果图下: 在线预览   源码下载 实现的代码. html代码: <a ...

  4. jquery 在div追加文本_前端技术--JQuery

    JQuery 一.引言 1.JQuery是一个基于javascript语言的框架 --- 是对js代码的合理封装 2.js缺点,jquery优点 ​1)js代码比较复杂 var tag = docum ...

  5. 通过CSS,Jquery实现DIV的各种动作(包括漂移,未测试IE6)

    此文实现了如下效果: jquery获得窗口高宽,文档高宽值. 通过CSS设置,实现DIV置顶,置底,置左,置右,居中. 利用jquery实现DIV四个方向随滚动条,窗体大小浮动. 一个漂浮反弹的DIV ...

  6. 实时监听div,input内容改变并获取值(包括脚本动态添加)

    在DOM中可以通过DOMNodeInserted和DOMNodeRemoved这两个事件来监视DOM元素的插入和移除. <!doctype html> <html lang=&quo ...

  7. JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)

    转自<JS实现漂亮的窗口拖拽效果(可改变大小.最大化.最小化.关闭)>:http://www.jb51.net/article/73157.htm 这篇文章主要介绍了JS实现漂亮的窗口拖拽 ...

  8. Js实战之方块大小随着滚轮的上下滚动而改变大小

    方块大小随着滚轮的上下滚动而改变大小 <!DOCTYPE html> <html> <head><meta charset="UTF-8" ...

  9. jquery实现div随着鼠标移动

    jquery实现div随着鼠标移动 <!DOCTYPE html> <html lang="zh-CN"><head><meta char ...

最新文章

  1. 医生还未失业,IBM Watson已跌入深渊 | 极客头条
  2. 初学Java Web开发,请远离各种框架,从Servlet开发
  3. python思维导图完整版下载高清_快速学习 Python 的全套 14 张思维导图(附高清版下载)...
  4. spring配置数据源(加载properties文件)
  5. Apache服务器部署ASP.NET网站
  6. JBoss的简单配置
  7. Mysql 零距离-入门(二)
  8. 转:陈梓瀚:关于编程的胡扯
  9. nvsip能用别的软件吗_为什么很多企业转向了 Golang? Java, Python, C#没落了吗?
  10. 为什么搞农旅项目那么多人失败?
  11. 2021-2025年中国抽屉加热器行业市场供需与战略研究报告
  12. 物流货代公司管理系统
  13. knockoutjs
  14. 火狐浏览器设置url编码_URL编码与解码
  15. unity游戏开发之游戏过审后 国行PS4将在3月20日发售
  16. rmats2sashimiplot:可视化rmats的可变剪切结果
  17. 8个最好用的H5页面制作工具
  18. 游戏制作策划人员指南
  19. python多线程执行同样代码_Python 多线程、多进程 (一)之 源码执行流程、GIL
  20. Unsupported SQL of `create database xxx CHARACTER SET UTF8

热门文章

  1. UNCTF2022wp
  2. php小红书,【小红书逻辑PHP面试题】面试问题:PHP小红书文… - 看准网
  3. html文本的背景,HTML---CSS字体,文本,背景和边框属性
  4. 点一下触发一下选择框,visible-change
  5. 全球及中国电动牙刷行业消费需求态势与投资机遇研究报告2022版
  6. 爱因斯坦烧脑题,猜谁养鱼
  7. SDL Trados 2021 最新版本的下载地址 (2021年12月更新)
  8. 12种初级滤波器详细介绍(及其C语言实现)
  9. 力扣1024活动 根据你手中的卡片判断能否合成1024 Java程序
  10. 解决Windows出现d3dx10.dll错误