<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jqeruy UI </title>
<link href="http://www.jq22.com/demo/jQuery-tddx20161230/css/jquery-ui.css" rel="stylesheet" type="text/css">
<script src="http://www.jq22.com/jquery/jquery-1.10.2.js"></script>
<script src="http://www.jq22.com/jquery/jquery-ui-1.11.0.js"></script>
<script>
$.fn.extend({dragging:function(data){var $this=$(this);var xPage;var yPage;var X;var Y;var xRand=0;var yRand=0;var father=$this.parent();var defaults={move:'both',randomPosition:true,hander:1}
var opt=$.extend({},defaults,data);var movePosition=opt.move;var random=opt.randomPosition;var hander=opt.hander;if(hander==1){hander=$this;}else{hander=$this.find(opt.hander);}
father.css({"position":"relative","overflow":"hidden"});$this.css({"position":"absolute"});hander.css({"cursor":"move"});var faWidth=father.width();var faHeight=father.height();var thisWidth=$this.width()+parseInt($this.css('padding-left'))+parseInt($this.css('padding-right'));var thisHeight=$this.height()+parseInt($this.css('padding-top'))+parseInt($this.css('padding-bottom'));var mDown=false;var positionX;var positionY;var moveX;var moveY;if(random){$thisRandom();}
function $thisRandom(){$this.each(function(index){var randY=parseInt(Math.random()*(faHeight-thisHeight));var randX=parseInt(Math.random()*(faWidth-thisWidth));if(movePosition.toLowerCase()=='x'){$(this).css({left:randX});}else if(movePosition.toLowerCase()=='y'){$(this).css({top:randY});}else if(movePosition.toLowerCase()=='both'){$(this).css({top:randY,left:randX});}});}
hander.mousedown(function(e){father.children().css({"zIndex":"0"});$this.css({"zIndex":"1"});mDown=true;X=e.pageX;Y=e.pageY;positionX=$this.position().left;positionY=$this.position().top;return false;});$(document).mouseup(function(e){mDown=false;});$(document).mousemove(function(e){xPage=e.pageX;moveX=positionX+xPage-X;yPage=e.pageY;moveY=positionY+yPage-Y;function thisXMove(){if(mDown==true){$this.css({"left":moveX});}else{return;}
if(moveX<0){$this.css({"left":"0"});}
if(moveX>(faWidth-thisWidth)){$this.css({"left":faWidth-thisWidth});}
return moveX;}
function thisYMove(){if(mDown==true){$this.css({"top":moveY});}else{return;}
if(moveY<0){$this.css({"top":"0"});}
if(moveY>(faHeight-thisHeight)){$this.css({"top":faHeight-thisHeight});}
return moveY;}
function thisAllMove(){if(mDown==true){$this.css({"left":moveX,"top":moveY});}else{return;}
if(moveX<0){$this.css({"left":"0"});}
if(moveX>(faWidth-thisWidth)){$this.css({"left":faWidth-thisWidth});}
if(moveY<0){$this.css({"top":"0"});}
if(moveY>(faHeight-thisHeight)){$this.css({"top":faHeight-thisHeight});}}
if(movePosition.toLowerCase()=="x"){thisXMove();}else if(movePosition.toLowerCase()=="y"){thisYMove();}else if(movePosition.toLowerCase()=='both'){thisAllMove();}});}});
</script>
<style>
body{
background: #000;
}
#target
{
height:400px;
width:400px;
background: #0a6aa1;
margin:50px auto;
position: relative;
} </style>
</head>
<body> <div id="target" class="ui-widget-content">
<i class='hander'></i>
</div>
</body>
<script>
$('#target div').each(function() {
$(this).dragging({
move: 'both',
randomPosition: true,
hander: '.hander'
});
}); $(function() {
$("#target").resizable({
aspectRatio: true//开启按比例缩放,也可以指定比例: 16 / 9
});
}); </script>
</html>

js div大小随意伸缩的更多相关文章

  1. 模仿iframe框架,由分隔栏动态改变左右两侧div大小———基于jQuery

    <!DOCTYPE html><html lang="zh-cn"><head> <meta charset="utf-8&qu ...

  2. js div及table首行顶部吸附示例

    js div顶部吸附示例,例如这样: 以下为DIV顶部吸附示例:(此示例来自于网络,在此记录与分享!感谢原作者!) 示例1:兼容IE6 <div style="height:300px ...

  3. marquee实现文字移动效果;js+div实现文字无缝移动效果

    1.marquee实现文字移动: <marquee width="220px;" scrollamount="5" onmouseover="t ...

  4. js div浮动层拖拽效果代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. CSS3 resize属性 调整div大小

    resize 用户可调整div大小  IE不支持 none 不可调整元素尺寸 both 可调整宽度高度 horizontal 可调整宽度 vertical 可调整高度 注意:如果属性生效,必须设置元素 ...

  6. div大小如何改变设置

    如果改变更改div大小尺寸. 首先我们要知道DIV大小是由高和宽确定,要修改DIV容积大小我们设置css宽度和css高度即可实现改变DIV盒子大小. 一.改变div大小实例 为了实验便于观察DIV盒子 ...

  7. 使用three.js创建大小不随着场景变化的文字

    使用three.js创建大小不随着场景变化的文字,需要以下两步: 1.将文字绘制到画布上. 2.创建着色器材质,把文字放到三维场景中. 优点: 1.跟用html实现文字相比,这些文字可以被模型遮挡,更 ...

  8. js 图片区域可点击,适配移动端,图片大小随意改变

    实现图片区域可点击,实际上使用map是可以的,但是适配效果并不好,图片只能是固定大小的值,而且点都被写死了. 在这里,我使用的js基于canvas写的一个小工具.可以圈出你需要点击的部分,然后生成一串 ...

  9. tbl.js div实现的表格控件,完全免费,no jquery

    html上现在有比较好用的表格控件是datatable,但是编辑.按钮等部分是收费的,只有基础功能免费.而且尺寸发生变化时需要手工刷新等繁琐操作较多.所以我开发一个免费的供大家使用. 本项目已用于“虚 ...

随机推荐

  1. mysql数据库基本操作(五)

    表纪录之查(单表查询)2 上一篇讲了4类查询的方式,现在接着上一篇继续看还有哪些方式. group by 分组查询 顾名思义,分组查询要分组,因为mysql5.7之后默认不支持group by语句,需 ...

  2. E20180404-hm

    reject vt. 拒绝; 排斥; 抛弃,扔掉; 吐出或呕吐; conditioner  n. 调节器,调节装置 fabric n. 织物; 布; 构造; (建筑物的) 结构(如墙.地面.屋顶):质 ...

  3. Java简单高精度合集

    第一个Java的算法程序.记得可以使用Alt+'/'自动补全sysout和main之类的. BigInteger在java.math.BigInteger中. import java.math.Big ...

  4. 算法学习--Day3

    今天搞了一波算法的哈希,代码难道不大,记录在这里吧. 题目描述     “臭味相投”——这是我们描述朋友时喜欢用的词汇.两个人是朋友通常意味着他们存在着许多共同的兴趣.然而作为一个宅男,你发现自己与他 ...

  5. mysql关于时间函数的应用

    1.获取今天的数据 date_format(publishtime, '%Y-%m-%d')= date_format(now(), '%Y-%m-%d') 2.获取今天和明天的数据 server.b ...

  6. Codeforces731D 80-th Level Archeology

    考虑将两个单词变成有序,我们可以得到一个或者两个旋转次数的区间. 然后考虑将两组单词变成有序,比如[l,mid]和[mid+1,r],对于mid和mid+1这两个单词我们可以求出使他们有序的旋转次数的 ...

  7. c++模板专门化

    #include <iostream> #include<cstring> using namespace std; template <typename T> T ...

  8. linux中用户组和用户

    linux中用户组和用户 1.介绍 在我们的linux系统,有很多用户组,也可以手动创建用户组,不同的用户组下面有很多的用户. 2.创建用户组及有关的命令 groupadd phpzu:创建一个php ...

  9. SPRING-BOOT系列之SpringBoot快速入门

    今天 , 正式来介绍SpringBoot快速入门 : 可以去如类似 https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/refer ...

  10. 148 Sort List 链表上的归并排序和快速排序

    在使用O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序. 详见:https://leetcode.com/problems/sort-list/description/ Java实 ...