jQuery UI API - 可調整尺寸小部件(Resizable Widget)
所屬類別
用法
描述:使用滑鼠改變元素的尺寸。
版本新增:1.0
依賴:
注釋:jQuery UI 可調整尺寸(Resizable)插件讓被選元素可調整尺寸(意味著它們有可拖拽的調整大小的手柄)。您可以指定一個或多個手柄,也可以指定寬度和高度的最小值也最大值。
附加說明:該部件要求一些功能性的 CSS,否則將無法工作。如果您創建了一個自定義的主題,請使用小部件指定的 CSS 檔作為起點。
快速導航
選項 | 方法 | 事件 |
---|---|---|
選項 | 類型 | 描述 | 默認值 |
---|---|---|---|
alsoResize | Selector 或 jQuery 或 Element | 一個或多個通過 resizable 元素進行同步調整尺寸的元素。 代碼實例: 初始化帶有指定 $( ".selector" ).resizable({ alsoResize: "#mirror" }); 在初始化後,獲取或設置 // getter var alsoResize = $( ".selector" ).resizable( "option", "alsoResize" ); // setter $( ".selector" ).resizable( "option", "alsoResize", "#mirror" ); |
false |
animate | Boolean | 調整尺寸後動態變化到最終尺寸。 代碼實例: 初始化帶有指定 $( ".selector" ).resizable({ animate: true }); 在初始化後,獲取或設置 // getter var animate = $( ".selector" ).resizable( "option", "animate" ); // setter $( ".selector" ).resizable( "option", "animate", true ); |
false |
animateDuration | Number 或 String | 當使用 animate 選項時,動畫持續的時間。支持多個類型:
代碼實例: 初始化帶有指定 $( ".selector" ).resizable({ animateDuration: "fast" }); 在初始化後,獲取或設置 // getter var animateDuration = $( ".selector" ).resizable( "option", "animateDuration" ); // setter $( ".selector" ).resizable( "option", "animateDuration", "fast" ); |
"slow" |
animateEasing | String | 當使用 animate 選項時要使用的 Easings。代碼實例: 初始化帶有指定 $( ".selector" ).resizable({ animateEasing: "easeOutBounce" }); 在初始化後,獲取或設置 // getter var animateEasing = $( ".selector" ).resizable( "option", "animateEasing" ); // setter $( ".selector" ).resizable( "option", "animateEasing", "easeOutBounce" ); |
"swing" |
aspectRatio | Boolean 或 Number | 元素是否應該被限制在一個特定的長寬比。 支持多個類型:
代碼實例: 初始化帶有指定 $( ".selector" ).resizable({ aspectRatio: true }); 在初始化後,獲取或設置 // getter var aspectRatio = $( ".selector" ).resizable( "option", "aspectRatio" ); // setter $( ".selector" ).resizable( "option", "aspectRatio", true ); |
false |
autoHide | Boolean | 當用戶滑鼠沒有懸浮在元素上時是否隱藏手柄。 代碼實例: 初始化帶有指定 $( ".selector" ).resizable({ autoHide: true }); 在初始化後,獲取或設置 // getter var autoHide = $( ".selector" ).resizable( "option", "autoHide" ); // setter $( ".selector" ).resizable( "option", "autoHide", true ); |
false |
cancel | Selector | 防止從指定的元素上開始調整尺寸。 代碼實例: 初始化帶有指定 $( ".selector" ).resizable({ cancel: ".cancel" }); 在初始化後,獲取或設置 // getter var cancel = $( ".selector" ).resizable( "option", "cancel" ); // setter $( ".selector" ).resizable( "option", "cancel", ".cancel" ); |
"input, textarea, button, select, option" |
containment | Selector 或 Element 或 String | 約束在指定元素或區域的邊界內調整尺寸。 支持多個類型:
代碼實例: 初始化帶有指定 $( ".selector" ).resizable({ containment: "parent" }); 在初始化後,獲取或設置 // getter var containment = $( ".selector" ).resizable( "option", "containment" ); // setter $( ".selector" ).resizable( "option", "containment", "parent" ); |
false |
delay | Number | 滑鼠按下後直到調整尺寸開始為止的時間,以毫秒計。如果指定了該選項,調整只有在滑鼠移動超過時間後才開始。該選項可以防止點擊在某個元素上時不必要的調整尺寸。 代碼實例: 初始化帶有指定 $( ".selector" ).resizable({ delay: 150 }); 在初始化後,獲取或設置 // getter var delay = $( ".selector" ).resizable( "option", "delay" ); // setter $( ".selector" ).resizable( "option", "delay", 150 ); |
0 |
disabled | Boolean | 如果設置為 true ,則禁用該 resizable。代碼實例: 初始化帶有指定 $( ".selector" ).resizable({ disabled: true }); 在初始化後,獲取或設置 // getter var disabled = $( ".selector" ).resizable( "option", "disabled" ); // setter $( ".selector" ).resizable( "option", "disabled", true ); |
false |
distance | Number | 滑鼠按下後調整尺寸開始前必須移動的距離,以像素計。如果指定了該選項,調整只有在滑鼠移動超過距離後才開始。該選項可以防止點擊在某個元素上時不必要的調整尺寸。 代碼實例: 初始化帶有指定 $( ".selector" ).resizable({ distance: 30 }); 在初始化後,獲取或設置 // getter var distance = $( ".selector" ).resizable( "option", "distance" ); // setter $( ".selector" ).resizable( "option", "distance", 30 ); |
1 |
ghost | Boolean | 如果設置為 true ,則為調整尺寸顯示一個半透明的輔助元素。代碼實例: 初始化帶有指定 $( ".selector" ).resizable({ ghost: true }); 在初始化後,獲取或設置 // getter var ghost = $( ".selector" ).resizable( "option", "ghost" ); // setter $( ".selector" ).resizable( "option", "ghost", true ); |
false |
grid | Array | 把可調整尺寸元素對齊到網格,每個 x 和 y 像素。數組形式必須是 [ x, y ] 。代碼實例: 初始化帶有指定 $( ".selector" ).resizable({ grid: [ 20, 10 ] }); 在初始化後,獲取或設置 // getter var grid = $( ".selector" ).resizable( "option", "grid" ); // setter $( ".selector" ).resizable( "option", "grid", [ 20, 10 ] ); |
false |
handles | String 或 Object | 可用於調整尺寸的處理程式。 支持多個類型:
注釋:當生成您自己的處理程式時,每個處理程式必須有 代碼實例: 初始化帶有指定 $( ".selector" ).resizable({ handles: "n, e, s, w" }); 在初始化後,獲取或設置 // getter var handles = $( ".selector" ).resizable( "option", "handles" ); // setter $( ".selector" ).resizable( "option", "handles", "n, e, s, w" ); |
"e, s, se" |
helper | String | 一個將被添加到代理元素的 class 名稱,用於描繪調整手柄拖拽過程中調整的輪廓。一旦調整完成,原來的元素則被重新定義尺寸。 代碼實例: 初始化帶有指定 $( ".selector" ).resizable({ helper: "resizable-helper" }); 在初始化後,獲取或設置 // getter var helper = $( ".selector" ).resizable( "option", "helper" ); // setter $( ".selector" ).resizable( "option", "helper", "resizable-helper" ); |
false |
maxHeight | Number | resizable 允許被調整到的最大高度。 代碼實例: 初始化帶有指定 $( ".selector" ).resizable({ maxHeight: 300 }); 在初始化後,獲取或設置 // getter var maxHeight = $( ".selector" ).resizable( "option", "maxHeight" ); // setter $( ".selector" ).resizable( "option", "maxHeight", 300 ); |
null |
maxWidth | Number | resizable 允許被調整到的最大寬度。 代碼實例: 初始化帶有指定 $( ".selector" ).resizable({ maxWidth: 300 }); 在初始化後,獲取或設置 // getter var maxWidth = $( ".selector" ).resizable( "option", "maxWidth" ); // setter $( ".selector" ).resizable( "option", "maxWidth", 300 ); |
null |
minHeight | Number | resizable 允許被調整到的最小高度。 代碼實例: 初始化帶有指定 $( ".selector" ).resizable({ minHeight: 150 }); 在初始化後,獲取或設置 // getter var minHeight = $( ".selector" ).resizable( "option", "minHeight" ); // setter $( ".selector" ).resizable( "option", "minHeight", 150 ); |
10 |
minWidth | Number | resizable 允許被調整到的最小寬度。 代碼實例: 初始化帶有指定 $( ".selector" ).resizable({ minWidth: 150 }); 在初始化後,獲取或設置 // getter var minWidth = $( ".selector" ).resizable( "option", "minWidth" ); // setter $( ".selector" ).resizable( "option", "minWidth", 150 ); |
10 |
方法 | 返回 | 描述 |
---|---|---|
destroy() | jQuery (plugin only) | 完全移除 resizable 功能。這會把元素返回到它的預初始化狀態。
代碼實例: 調用 destroy 方法: $( ".selector" ).resizable( "destroy" ); |
disable() | jQuery (plugin only) | 禁用 resizable。
代碼實例: 調用 disable 方法: $( ".selector" ).resizable( "disable" ); |
enable() | jQuery (plugin only) | 啟用 resizable。
代碼實例: 調用 enable 方法: $( ".selector" ).resizable( "enable" ); |
option( optionName ) | Object | 獲取當前與指定的 optionName 關聯的值。
代碼實例: 調用該方法: var isDisabled = $( ".selector" ).resizable( "option", "disabled" ); |
option() | PlainObject | 獲取一個包含鍵/值對的對象,鍵/值對表示當前 resizable 選項哈希。
代碼實例: 調用該方法: var options = $( ".selector" ).resizable( "option" ); |
option( optionName, value ) | jQuery (plugin only) | 設置與指定的 optionName 關聯的 resizable 選項的值。
代碼實例: 調用該方法: $( ".selector" ).resizable( "option", "disabled", true ); |
option( options ) | jQuery (plugin only) | 為 resizable 設置一個或多個選項。
代碼實例: 調用該方法: $( ".selector" ).resizable( "option", { disabled: true } ); |
widget() | jQuery | 返回一個包含 resizable 元素的 jQuery 對象。
代碼實例: 調用 widget 方法: var widget = $( ".selector" ).resizable( "widget" ); |
事件 | 類型 | 描述 |
---|---|---|
create( event, ui ) | resizecreate | 當 resizable 被創建時觸發。
注意: 代碼實例: 初始化帶有指定 create 回調的 resizable: $( ".selector" ).resizable({ create: function( event, ui ) {} }); 綁定一個事件監聽器到 resizecreate 事件: $( ".selector" ).on( "resizecreate", function( event, ui ) {} ); |
resize( event, ui ) | resize | 在調整尺寸期間當調整手柄拖拽時觸發。
代碼實例: 初始化帶有指定 resize 回調的 resizable: $( ".selector" ).resizable({ resize: function( event, ui ) {} }); 綁定一個事件監聽器到 resize 事件: $( ".selector" ).on( "resize", function( event, ui ) {} ); |
start( event, ui ) | resizestart | 當調整尺寸操作開始時觸發。
代碼實例: 初始化帶有指定 start 回調的 resizable: $( ".selector" ).resizable({ start: function( event, ui ) {} }); 綁定一個事件監聽器到 resizestart 事件: $( ".selector" ).on( "resizestart", function( event, ui ) {} ); |
stop( event, ui ) | resizestop | 當調整尺寸操作停止時觸發。
代碼實例: 初始化帶有指定 stop 回調的 resizable: $( ".selector" ).resizable({ stop: function( event, ui ) {} }); 綁定一個事件監聽器到 resizestop 事件: $( ".selector" ).on( "resizestop", function( event, ui ) {} ); |
實例
一個簡單的 jQuery UI 可調整尺寸小部件(Resizable Widget)。
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>可調整尺寸小部件(Resizable Widget)演示</title> <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> <style> #resizable { width: 100px; height: 100px; background: #ccc; } </style> <script src="//code.jquery.com/jquery-1.10.2.js"></script> <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script> </head> <body> <div id="resizable"></div> <script> $( "#resizable" ).resizable(); </script> </body> </html>