亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery之尺寸調整組件的深入解析

2019-11-20 22:38:16
字體:
來源:轉載
供稿:網友
1:尺寸調整組件(Resizable)組件可以使選定的DOM元素變成可調整尺寸的對象,即可以通過拖動調整手柄來改變其尺寸大小。
$(".selector").resizeable(options);
簡單實例:
復制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>resizable組件</title>
<script language="javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/jquery.ui.core.js"></script>
<script type="text/javascript" src="js/jquery.ui.widget.js"></script>
<script type="text/javascript" src="js/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="js/jquery.ui.resizable.js"></script>
<style type="text/css">
body {
 font-size:14px;
}
#wrap {
 clear:both;
 margin: 10px auto 10px auto;
 width: 287px;
 height:164px;
 border: 1px solid #BFBFBF;
 background-color: #fff;
 background-image: url(images/40.JPG);
}
h1 {
 color:#006;
 font-size:24px;
 font-weight:bold;
 text-align:center;
 margin-top:0px;
}
.drag {
 width:140px;
 height:100px;
 border: 1px solid #000;
 float:left;
 margin:20px 0  0 20px;
 background:#FFF;
}
img {
 width:200px;
 border:1px solid #D6D6D6;
 padding:4px;
 margin:2px;
}
</style>
<link href="CSS/base/jquery.ui.all.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" language="javascript">
$(document).ready(function(){
  $("#car").resizable();
});
</script>
</head>
<body>
<img src="images/happy.gif" id="car" />
</body>
</html>

效果圖:

其實,在調用resizable()方法之后,將會在目標對象的右邊框、下邊框和右下角分別添加div元素,并對div元素依次添加ui-resizable-e, ui-resizable-s, ui-resizable-se類,從而形成拖動手柄

2:延遲調整

復制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>resizable組件</title>
<script language="javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/jquery.ui.core.js"></script>
<script type="text/javascript" src="js/jquery.ui.widget.js"></script>
<script type="text/javascript" src="js/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="js/jquery.ui.resizable.js"></script>
<style type="text/css">
body {
 font-size:14px;
}
#wrap {
 margin: 10px 20px 10px auto;
 padding: 10px;
 width: 350px;
 height:150px;
 background: #fff;
 border: 5px solid #000;
 float: right;
 overflow: auto;
}
.message_box {
 width:220px;
 height:200px;
 filter:dropshadow(color=#666666, offx=3, offy=3, positive=2);
 float:left;
 margin-right:10px;
}
#mask {
 position:absolute;
 top:0;
 left:0;
width:expression(body.clientWidth);
height:expression(body.clientHeight);
 background:#666;
 filter:ALPHA(opacity=60);
 z-index:1;
 visibility:hidden
}
.message {
 border:#036 solid;
 border-width:1 1 3 1;
 width:95%;
 height:95%;
 color:#036;
 font-size:12px;
 line-height:150%
}
.header {
 background:#036;
 height:22px;
 font-family:Verdana, Arial, Helvetica, sans-serif;
 font-size:12px;
 padding:3px 5px 0px 10px;
 color:#fff;
 cursor:move;
}
ul {
 margin-right:25px;
}
.header div {
 display:inline;
 width:150px;
}
.header span {
 float:right;
 display:inline;
 cursor:hand;
}
fieldset {
 margin-bottom:5px;
}
.area {
 width:120px;
 border:2px solid #D6D6D6;
 margin:10px;
 background:#FFF;
 height: 80px;
 padding: 5px;
}
</style>
<link href="CSS/base/jquery.ui.all.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" language="javascript">
$(document).ready(function(){
 $("#message_box1").resizable({
   delay: 500,      //delay屬性設置時間延遲
   distance: 20,    //distance屬性設置距離延遲
   minWidth:200,
   minHeight:200,
   alsoResize:".area"
  });
});
</script>
</head>
<body>
<div id="message_box1" class="message_box" >
  <div class="message" >
    <div class="header">
      <div>延遲調整</div>
      <span>×</span></div>
    <div class="area">拖動最外邊框查看效果,參數如下<br/>
    時間延遲:500<br/>
     距離延遲:20</div>
  </div>
</div>
</body>
</html>


3:動態調整效果
需要借助尺寸調整組件的一下屬性來實現:
*為helper屬性設置一個CSS樣式類,該樣式類將在調整過程中顯示元素大小的輪廓,操作結束后才調整原始元素的大小
*設置ghost屬性為true,在調整過程中顯示一個半透明的輔助元素
*將animate屬性設置為true,為元素的調整過程添加動畫效果
*為animateDuration屬性指定一個值,設置動畫過程持續的時間
復制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>resizable組件</title>
<script language="javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/jquery.ui.core.js"></script>
<script type="text/javascript" src="js/jquery.ui.widget.js"></script>
<script type="text/javascript" src="js/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="js/jquery.ui.resizable.js"></script>
<style type="text/css">
@charset "utf-8";
/* CSS Document */
body {
 margin:0;
 padding:0;
 font-size:14px
}
.content {
 margin-left:10px;
 line-height:24px;
}
#wrap {
 margin: 20px auto 10px auto;
 width: 390px;
 background: #fff;
 padding: 10px;
 border: 5px solid #000;
 text-align: left;
}
h1 {
 color:#006;
 font-size:24px;
 font-weight:bold;
 text-align:center;
 margin-bottom:0px;
}
h2 {
 font-size:12px;
 text-align:center;
 font-weight:normal;
 border-top:#ccc 1px dashed;
 color:#666;
 height:24px;
 margin:3px 5px 8px 0;
 background:#f5f5f5
}
p {
 text-indent: 20px;
}
.ui-resizable-helper {
 border: 2px dashed #600;
}
</style>
<link href="CSS/base/jquery.ui.all.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" language="javascript">
$(document).ready(function(){
 $("#wrap").resizable({
  ghost: true,  
  animate: true,
  animateDuration: 1000,
  helper: "ui-resizable-helper",
  minWidth: 300,
  minHeight: 200
 });
});
</script>
</head>
<body>
<div id="wrap">
  <h1>魔獸爭霸</h1>
  <h2>來源:知識寶庫網 | 瀏覽次數:431052次 | 創建時間:2010-10-23</h2>
  <p>魔獸爭霸是一款非常著名的即時戰略游戲。制作公司是美國的暴雪公司。最新版本為“魔獸爭霸3:冰封王座”,目前的版本號為1.24.1.6374(更新至2009年8月26號)。</p>
  <p>目前是單機游戲中非常受歡迎的游戲,除此之外,魔獸爭霸還包括了游戲的同名電影。 </p>
</div>
</body>
</html>

效果圖:
 
4:尺寸調整組件的方法
尺寸調整組件有4個方法,他們都是拖動組件和投放組件所共有的,即disable方法、enable方法、destroy方法和option方法
復制代碼 代碼如下:

   //禁止調整尺寸功能
  $(".selector").resizable('disable');
  //重新激活對象的可調整尺寸功能
  $(".selector").resizable('enable');
 //移除可調整尺寸功能
 $('.selector').resizable('destroy');
 //在初始化后設置maxHeight屬性的值為480
  $('.selector').resizable('option', 'maxHeight', 480);
 //在初始化后獲取maxHeight屬性的值
  $('.selector').resizable('option', "maxHeight");

5:調整事件回調函數
start:事件類型resizestart, 開始拖動改變大小時觸發
resize: 事件類型resize, 拖動過程中,鼠標每移動一像素就觸發一次
stop: 事件類型resizestop, 停止拖動時觸發
復制代碼 代碼如下:

  $("#droppable").droppable({
     eventName: function(event, ui) {
        //具體處理代碼,this表示可調整尺寸的對象
    }
});

ui則是一個包含附加信息的jQuery對象,該jQuery對象具有一下屬性:
helper: 一個jQuery對象,表示可拖動助手元素
originalPosition: 一個包含top屬性和left屬性的對象,表示開始調整前元素相對于原始對象的位置
originalSize: 一個包含width和height屬性的對象,表示開始調整前元素的尺寸大小
position: 一個包含top屬性和left屬性的對象,表示當前元素相對于原始對象的位置
size: 一個包含width屬性和height屬性的對象,表示當前元素的尺寸大小
簡單示例:
復制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>resizable組件</title>
<script language="javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/jquery.ui.core.js"></script>
<script type="text/javascript" src="js/jquery.ui.widget.js"></script>
<script type="text/javascript" src="js/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="js/jquery.ui.resizable.js"></script>
<style type="text/css">
body {
 font-size:14px;
}
#wrap {
 margin: 10px 20px 10px auto;
 padding: 10px;
 width: 450px;
 height:150px;
 background: #fff;
 border: 5px solid #000;
 float: right;
 overflow: auto;
}
.message_box {
 width:200px;
 height:200px;
 /* filter:dropshadow(color=#666666, offx=3, offy=3, positive=2);*/
 float:left;
 margin-right:10px;
}
/*#mask {
 position:absolute;
 top:0;
 left:0;
width:expression(body.clientWidth);
height:expression(body.clientHeight);
 background:#666;
 filter:ALPHA(opacity=60);
 z-index:1;
 visibility:hidden
}*/
.message {
 border:#036 solid;
 border-width:1 1 3 1;
 width:95%;
 height:95%;
 color:#036;
 font-size:12px;
 line-height:150%
}
.header {
 background:#036;
 height:22px;
 font-family:Verdana, Arial, Helvetica, sans-serif;
 font-size:12px;
 padding:3px 5px 0px 10px;
 color:#fff;
 cursor:move;
}
ul {
 margin-right:25px;
}
.header div {
 display:inline;
 width:150px;
}
.header span {
 float:right;
 display:inline;
 cursor:hand;
}
fieldset {
 margin-bottom:5px;
}
img {
 width:100px;
 border:2px solid #D6D6D6;
 margin:10px;
}
.ui-active {
 background:#CC0;
}
.ui-hover {
 background:#339;
}
.ui-highlight {
 background:#000;
}
</style>
<link href="CSS/base/jquery.ui.all.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="message_box1" class="message_box" >
  <div class="message" >
    <div class="header">
      <div>茄菲貓</div>
      <span>×</span></div>
    <img src="images/jiafeimao.jpg" id="pic1"/> </div>
</div>
<div id="wrap"></div>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
 $("#pic1").resizable({alsoResize:"#message_box1",
  minHeight:100,
  minWidth:100,
  start:eventCallback,
  resize:eventCallback,
  stop:eventCallback
  });
 function eventCallback(e, ui) {
  var content = "事件類型:" + e.type + ",當前大?。? + ui.size.width+ "*" + ui.size.height + ",原始大?。?+ui.originalSize.width+"*"+ui.originalSize.height+"<br/>";
  var message = $("<span>").text(content);
  $("#wrap").append(content);
 }
});
</script>
</body>
</html>



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕亚洲精品| 亚洲综合自拍一区| 国产日韩欧美黄色| 91精品在线看| 7777免费精品视频| 91日韩在线视频| 亚洲乱码国产乱码精品精| 久久国产精品视频| 美女精品久久久| 亚洲免费一级电影| 国产精品一区二区电影| 国产精品羞羞答答| 亚洲人成伊人成综合网久久久| 欧美午夜无遮挡| 日韩精品一区二区三区第95| 欧美高清videos高潮hd| 久久香蕉国产线看观看av| 久久久久久久久久久国产| 中文字幕国产精品| 国产在线播放91| 久久久亚洲欧洲日产国码aⅴ| 国产视频精品久久久| 日韩成人久久久| 亚洲人成电影网| 萌白酱国产一区二区| 亚洲白虎美女被爆操| 亚洲电影免费观看高清完整版在线观看| 亚洲欧洲在线免费| 亚洲黄色免费三级| 久久精品视频网站| 日韩一区av在线| 欧美在线激情网| 国产视频观看一区| 福利视频第一区| 欧美黑人性生活视频| 国产日韩在线看| 亚洲成人黄色在线观看| 欧美性做爰毛片| 精品中文字幕乱| 亚洲成av人乱码色午夜| 91久久精品久久国产性色也91| 日韩av不卡在线| 国产在线观看91精品一区| 精品国产欧美一区二区三区成人| 精品一区二区电影| 日韩中文字幕欧美| 国产精品高潮粉嫩av| 国产亚洲免费的视频看| 中文字幕日韩在线视频| 久久综合久中文字幕青草| 色偷偷av一区二区三区乱| 国产成人精品在线播放| 欧美午夜激情在线| 91国内免费在线视频| 在线看国产精品| 亚洲国产精品电影在线观看| 久久久久久网站| 亚洲欧洲偷拍精品| 国产一区二区三区免费视频| 亚洲美女动态图120秒| 日韩精品高清视频| 国产美女91呻吟求| 草民午夜欧美限制a级福利片| 亚洲国产精品成人精品| 国产精品一区二区性色av| 麻豆国产精品va在线观看不卡| 91高清在线免费观看| 欧美日韩第一页| 久久99久久亚洲国产| 亚洲视频精品在线| 久久久久北条麻妃免费看| 久久久精品国产网站| 久久夜色精品国产欧美乱| 97在线视频一区| 国产成人91久久精品| 成人妇女免费播放久久久| 最近2019中文字幕大全第二页| 久久综合伊人77777尤物| 国产狼人综合免费视频| www.久久草.com| 亚洲综合中文字幕在线| 成人在线精品视频| 久久九九精品99国产精品| 日本中文字幕久久看| 午夜精品福利视频| 一区二区三区天堂av| 国产亚洲精品一区二区| 欧美巨乳美女视频| 狠狠躁18三区二区一区| 欧美性猛交xxxx乱大交3| 秋霞午夜一区二区| 亚洲美女av网站| 热草久综合在线| 自拍视频国产精品| 国自在线精品视频| 欧美午夜无遮挡| 国内揄拍国内精品| 国产美女久久久| 中文字幕视频在线免费欧美日韩综合在线看| 亚洲美女在线观看| 亚洲欧美在线一区| 自拍偷拍亚洲精品| 成人精品视频99在线观看免费| 国语自产精品视频在线看一大j8| 欧美性xxxxxxx| 亚洲999一在线观看www| 日韩最新中文字幕电影免费看| 中文字幕欧美精品在线| 欧美成人在线影院| 日韩亚洲精品视频| 欧美色道久久88综合亚洲精品| 欧美噜噜久久久xxx| 日韩精品视频三区| 性欧美xxxx视频在线观看| 91久久精品久久国产性色也91| 高清视频欧美一级| 亚洲男人天堂2019| 国产亚洲精品高潮| 精品五月天久久| 91精品国产综合久久久久久久久| 久久久精品美女| 欧美老少做受xxxx高潮| 欧美高清视频在线观看| 国产美女直播视频一区| 海角国产乱辈乱精品视频| 91久久精品国产91性色| 亚洲天堂男人天堂女人天堂| 欧美中文字幕在线视频| 一区二区亚洲欧洲国产日韩| 久久精品国产成人| 韩国日本不卡在线| 亚洲欧美中文日韩在线v日本| 色妞在线综合亚洲欧美| 国产视频精品va久久久久久| 久久精品国产99国产精品澳门| 亚洲国产另类 国产精品国产免费| 中文字幕在线看视频国产欧美| 在线日韩精品视频| 亚洲美女动态图120秒| 国产精品美乳在线观看| 欧洲精品毛片网站| 亚洲欧美另类自拍| 精品久久久久久久久久久久久久| 日韩精品中文字幕有码专区| 欧美日韩一区二区在线| 欧美大尺度电影在线观看| 国产成人精品国内自产拍免费看| 国产精品国模在线| 国产精品亚洲视频在线观看| 亚洲精品国产综合区久久久久久久| 国产一区二区免费| 日韩欧美高清视频| 亚洲精品福利视频| 77777亚洲午夜久久多人| 午夜欧美不卡精品aaaaa| 国产一区二区三区在线观看视频| 中文字幕精品网| 国语对白做受69| 国产精品欧美激情在线播放| 亚洲第五色综合网| 国产精品久久久久久久久影视| 欧美精品激情在线观看| 欧美日韩性视频在线| 久久久噜噜噜久久久|