可縮放Reloaded-一個(gè)針對(duì)可縮放元素的復(fù)用組件
原文地址:http://www.jackslocum.com/blog/2006/11/24/resizable-reloaded/
這些范例展示了元素如何應(yīng)用了一個(gè)浮動(dòng)(默認(rèn))和裝上可縮放的組件。
查看 basic.js 完整代碼。
基本范例
這是個(gè)簡(jiǎn)單的可縮放的范例。在矩形附近可調(diào)節(jié)大小。這個(gè)例子采用了“浮動(dòng)”的默認(rèn)處理。
var basic = new YAHOO.ext.Resizable('basic', {
width: 200,
height: 100,
minWidth:100,
minHeight:50
});
包裹元素
一些元素并沒有子元素,例如images and textares。過(guò)去的做法是,你把這些元素放進(jìn)一個(gè)可縮放的元素里面,作為其的子元素。到了yui-ext .33rc2,組件會(huì)將這些元素包裹好,即通過(guò)計(jì)算borders/padding應(yīng)調(diào)整多少,偏移出合適的句柄。你所需要做的只是聲明"wrap:true"。手工加入resizeChild做法也是支持的
調(diào)節(jié)欄
注意藍(lán)色的調(diào)節(jié)欄。屬性為 "pinned:true".
動(dòng)態(tài)調(diào)整
如果您不想代理調(diào)整,可打開動(dòng)態(tài)調(diào)整,只要"dynamic:true" 。
下面的textarea打開了動(dòng)態(tài)調(diào)整,并附有調(diào)節(jié)欄。
如此簡(jiǎn)單的代碼,連電腦裝機(jī)的都會(huì)寫
var dwrapped = new YAHOO.ext.Resizable('dwrapped', {
wrap:true,
pinned:true,
width:450,
height:150,
minWidth:200,
minHeight: 50,
dynamic: true
});
按比例縮放
有些圖像的按比例縮放,屬性為: preserveRatio:true.

var wrapped = new YAHOO.ext.Resizable('wrapped', {
wrap:true,
pinned:true,
minWidth:50,
minHeight: 50,
preserveRatio: true
});
直接方式
一種直接了當(dāng),不用花俏的處理方式。屬性為 transparent to true.

var transparent = new YAHOO.ext.Resizable('transparent', {
wrap:true,
minWidth:50,
minHeight: 50,
preserveRatio: true,
transparent:true
});
自定義方式
八個(gè)方向的縮放。要使得元素在x、y方向可調(diào)節(jié),那么這個(gè)元素應(yīng)該是絕對(duì)定位的(positioned absolute). 你也可以通過(guò)屬性"handles"來(lái)確定某一方向出現(xiàn)與否,而且允許你在CSS里修改它的樣式。
這是一張八個(gè)方向的縮放的、自定義調(diào)節(jié)欄的、可移動(dòng)的按正比例縮放的圖片 (做起來(lái)不太容易!).
雙擊圖片隱藏
var custom = new YAHOO.ext.Resizable('custom', {
wrap:true,
pinned:true,
minWidth:50,
minHeight: 50,
preserveRatio: true,
dynamic:true,
handles: 'all', // shorthand for 'n s e w ne nw se sw'
draggable:true
});
固定調(diào)節(jié)(譯者注,這個(gè)功能好像有點(diǎn)問(wèn)題,間歇性運(yùn)行不正常,待修復(fù)?。?/B>
每次調(diào)節(jié)量都是 固定值
var snap = new YAHOO.ext.Resizable('snap', {
pinned:true,
width:250,
height:100,
handles: 'e',
widthIncrement:50,
minWidth: 50,
dynamic: true
});
注意: 固定調(diào)節(jié) 和 按比例 是沖突的 ,不能用于一起。
加入動(dòng)畫效果
動(dòng)畫效果有兩個(gè)參數(shù) easing(特性) 和 duration(持續(xù)時(shí)間) 并 設(shè)置 animate:true,
var animated = new YAHOO.ext.Resizable('animated', {
width: 200,
height: 100,
minWidth:100,
minHeight:50,
animate:true,
easing: YAHOO.util.Easing.backIn,
duration:.6
});
注意:很明顯的原因動(dòng)畫和動(dòng)態(tài)調(diào)整dynamic是不能用在一起的。
相關(guān)文章
解決extjs在firefox中關(guān)閉窗口再打開后iframe中js函數(shù)訪問(wèn)不到的問(wèn)題
最近做ext時(shí)遇到一個(gè)問(wèn)題,在firefox中瀏覽ext應(yīng)用,加載后第一次打開一個(gè)嵌入iframe的Window時(shí),可以直接通過(guò)js代碼來(lái)執(zhí)行 iframe中的js函數(shù),但是如果將窗口關(guān)閉后重新再打開,將會(huì)拋出異常,說(shuō)是funcName is not a function2008-11-11學(xué)習(xí)YUI.Ext 第四天--對(duì)話框Dialog的使用
學(xué)習(xí)YUI.Ext 第四天--對(duì)話框Dialog的使用...2007-03-03使用EXT實(shí)現(xiàn)無(wú)刷新動(dòng)態(tài)調(diào)用股票信息
最近開始對(duì)ExtJS感興趣了,今天正好有空,花了點(diǎn)時(shí)間,寫了個(gè)基于Ext的例子。2008-11-11Ext.FormPanel 提交和 Ext.Ajax.request 異步提交函數(shù)的區(qū)別
Ext.FormPanel 提交和 Ext.Ajax.request 異步提交函數(shù)的區(qū)別小結(jié),需要的朋友可以參考下。2009-11-11Javascript YUI 讀碼日記之 YAHOO.util.Dom - Part.2 0
繼續(xù)在 YAHOO.util.Dom 中徘徊。由于 YAHOO.util.Dom 多次調(diào)用 batch 方法,所以先看看這個(gè)函數(shù)是怎么寫的。有關(guān) batch 的用法,可以參見這里,相關(guān)的代碼如下2008-03-03Ext面向?qū)ο箝_發(fā)實(shí)踐(續(xù))
我的上一篇文章《Ext面向?qū)ο箝_發(fā)實(shí)踐》中簡(jiǎn)述了如何編寫一個(gè)面向?qū)ο蟮臄?shù)據(jù)維護(hù)小程序,但這一些都是基于一個(gè)客戶端數(shù)據(jù),即用戶一旦刷新頁(yè)面,所有的操作都將丟失,現(xiàn)在我們就接著上一篇文章來(lái)繼續(xù)講一下如何對(duì)數(shù)據(jù)表進(jìn)行增、刪、改、查操作。2008-11-11學(xué)習(xí)YUI.Ext 第六天--關(guān)于樹TreePanel(Part 1)
這篇文章主要介紹了學(xué)習(xí)YUI.Ext 第六天--關(guān)于樹TreePanel(Part 1)2007-03-03