小兔网

所属类别

交互(Interactions)

用法

描述:使用鼠标改变元素的尺寸。

版本新增:1.0

依赖:

注释:jQuery UI 可调整尺寸(Resizable)插件让被选元素可调整尺寸(意味着它们有可拖拽的调整大小的手柄)。您可以指定一个或多个手柄,也可以指定宽度和高度的最小值也最大值。

附加说明:该部件要求一些功能性的 CSS,否则将无法工作。如果您创建了一个自定义的主题,请使用小部件指定的 CSS 文件作为起点。

快速导航

选项方法 事件

选项类型 描述默认值
alsoResizeSelector 或 jQuery 或 Element一个或多个通过 resizable 元素进行同步调整尺寸的元素。

代码实例:

初始化带有指定 alsoResize 选项的 resizable:

$( ".selector" ).resizable({ alsoResize: "#mirror" });    

在初始化后,获取或设置 alsoResize 选项:

// gettervar alsoResize = $( ".selector" ).resizable( "option", "alsoResize" ); // setter$( ".selector" ).resizable( "option", "alsoResize", "#mirror" );    
false
animateBoolean调整尺寸后动态变化到最终尺寸。

代码实例:

初始化带有指定 animate 选项的 resizable:

$( ".selector" ).resizable({ animate: true });    

在初始化后,获取或设置 animate 选项:

// gettervar animate = $( ".selector" ).resizable( "option", "animate" ); // setter$( ".selector" ).resizable( "option", "animate", true );    
false
animateDurationNumber 或 String当使用 animate 选项时,动画持续的时间。

支持多个类型:

  • Number:持续时间,以毫秒计。
  • String:一个命名的持续时间,比如 "slow""fast"

代码实例:

初始化带有指定 animateDuration 选项的 resizable:

$( ".selector" ).resizable({ animateDuration: "fast" });    

在初始化后,获取或设置 animateDuration 选项:

// gettervar animateDuration = $( ".selector" ).resizable( "option", "animateDuration" ); // setter$( ".selector" ).resizable( "option", "animateDuration", "fast" );    
"slow"
animateEasingString当使用 animate 选项时要使用的 Easings

代码实例:

初始化带有指定 animateEasing 选项的 resizable:

$( ".selector" ).resizable({ animateEasing: "easeOutBounce" });    

在初始化后,获取或设置 animateEasing 选项:

// gettervar animateEasing = $( ".selector" ).resizable( "option", "animateEasing" ); // setter$( ".selector" ).resizable( "option", "animateEasing", "easeOutBounce" );    
"swing"
aspectRatioBoolean 或 Number元素是否应该被限制在一个特定的长宽比。

支持多个类型:

  • Boolean:当设置为 true 时,元素将保持其原有的长宽比。
  • Number:强制在调整尺寸时元素保持特定的长宽比。

代码实例:

初始化带有指定 aspectRatio 选项的 resizable:

$( ".selector" ).resizable({ aspectRatio: true });    

在初始化后,获取或设置 aspectRatio 选项:

// gettervar aspectRatio = $( ".selector" ).resizable( "option", "aspectRatio" ); // setter$( ".selector" ).resizable( "option", "aspectRatio", true );    
false
autoHideBoolean当用户鼠标没有悬浮在元素上时是否隐藏手柄。

代码实例:

初始化带有指定 autoHide 选项的 resizable:

$( ".selector" ).resizable({ autoHide: true });    

在初始化后,获取或设置 autoHide 选项:

// gettervar autoHide = $( ".selector" ).resizable( "option", "autoHide" ); // setter$( ".selector" ).resizable( "option", "autoHide", true );    
false
cancelSelector防止从指定的元素上开始调整尺寸。

代码实例:

初始化带有指定 cancel 选项的 resizable:

$( ".selector" ).resizable({ cancel: ".cancel" });    

在初始化后,获取或设置 cancel 选项:

// gettervar cancel = $( ".selector" ).resizable( "option", "cancel" ); // setter$( ".selector" ).resizable( "option", "cancel", ".cancel" );    
"input, textarea, button, select, option"
containmentSelector 或 Element 或 String约束在指定元素或区域的边界内调整尺寸。

支持多个类型:

  • Selector:可调整尺寸元素将被包含在 selector 第一个元素的边界内。如果未找到元素,则不设置 containment。
  • Element:可调整尺寸元素将被包含在元素的边界内。
  • String:可能的值:"parent""document"

代码实例:

初始化带有指定 containment 选项的 resizable:

$( ".selector" ).resizable({ containment: "parent" });    

在初始化后,获取或设置 containment 选项:

// gettervar containment = $( ".selector" ).resizable( "option", "containment" ); // setter$( ".selector" ).resizable( "option", "containment", "parent" );    
false
delayNumber鼠标按下后直到调整尺寸开始为止的时间,以毫秒计。如果指定了该选项,调整只有在鼠标移动超过时间后才开始。该选项可以防止点击在某个元素上时不必要的调整尺寸。

代码实例:

初始化带有指定 delay 选项的 resizable:

$( ".selector" ).resizable({ delay: 150 });    

在初始化后,获取或设置 delay 选项:

// gettervar delay = $( ".selector" ).resizable( "option", "delay" ); // setter$( ".selector" ).resizable( "option", "delay", 150 );    
0
disabled Boolean如果设置为 true,则禁用该 resizable。

代码实例:

初始化带有指定 disabled 选项的 resizable:

$( ".selector" ).resizable({ disabled: true });    

在初始化后,获取或设置 disabled 选项:

// gettervar disabled = $( ".selector" ).resizable( "option", "disabled" ); // setter$( ".selector" ).resizable( "option", "disabled", true );    
false
distance Number鼠标按下后调整尺寸开始前必须移动的距离,以像素计。如果指定了该选项,调整只有在鼠标移动超过距离后才开始。该选项可以防止点击在某个元素上时不必要的调整尺寸。

代码实例:

初始化带有指定 distance 选项的 resizable:

$( ".selector" ).resizable({ distance: 30 });    

在初始化后,获取或设置 distance 选项:

// gettervar distance = $( ".selector" ).resizable( "option", "distance" ); // setter$( ".selector" ).resizable( "option", "distance", 30 );    
1
ghostBoolean如果设置为 true,则为调整尺寸显示一个半透明的辅助元素。

代码实例:

初始化带有指定 ghost 选项的 resizable:

$( ".selector" ).resizable({ ghost: true });    

在初始化后,获取或设置 ghost 选项:

// gettervar ghost = $( ".selector" ).resizable( "option", "ghost" ); // setter$( ".selector" ).resizable( "option", "ghost", true );    
false
gridArray把可调整尺寸元素对齐到网格,每个 x 和 y 像素。数组形式必须是 [ x, y ]

代码实例:

初始化带有指定 grid 选项的 resizable:

$( ".selector" ).resizable({ grid: [ 20, 10 ] });    

在初始化后,获取或设置 grid 选项:

// gettervar grid = $( ".selector" ).resizable( "option", "grid" ); // setter$( ".selector" ).resizable( "option", "grid", [ 20, 10 ] );    
false
handles String 或 Object可用于调整尺寸的处理程序。

支持多个类型:

  • String:一个逗号分隔的列表,列表值为下面所列出的任意值:n, e, s, w, ne, se, sw, nw, all。必要的处理程序由插件自动生成。
  • Object:支持下面的键:{ n, e, s, w, ne, se, sw, nw }。任何指定的值应该是一个匹配作为处理程序使用的 resizable 的子元素的 jQuery 选择器。

注释:当生成您自己的处理程序时,每个处理程序必须有 ui-resizable-handle class,也可以是适当的 appropriate ui-resizable-{direction} class,比如 ui-resizable-s。

代码实例:

初始化带有指定 handles 选项的 resizable:

$( ".selector" ).resizable({ handles: "n, e, s, w" });    

在初始化后,获取或设置 handles 选项:

// gettervar handles = $( ".selector" ).resizable( "option", "handles" ); // setter$( ".selector" ).resizable( "option", "handles", "n, e, s, w" );    
"e, s, se"
helper String一个将被添加到代理元素的 class 名称,用于描绘调整手柄拖拽过程中调整的轮廓。一旦调整完成,原来的元素则被重新定义尺寸。

代码实例:

初始化带有指定 helper 选项的 resizable:

$( ".selector" ).resizable({ helper: "resizable-helper" });    

在初始化后,获取或设置 helper 选项:

// gettervar helper = $( ".selector" ).resizable( "option", "helper" ); // setter$( ".selector" ).resizable( "option", "helper", "resizable-helper" );    
false
maxHeightNumberresizable 允许被调整到的最大高度。

代码实例:

初始化带有指定 maxHeight 选项的 resizable:

$( ".selector" ).resizable({ maxHeight: 300 });    

在初始化后,获取或设置 maxHeight 选项:

// gettervar maxHeight = $( ".selector" ).resizable( "option", "maxHeight" ); // setter$( ".selector" ).resizable( "option", "maxHeight", 300 );    
null
maxWidthNumberresizable 允许被调整到的最大宽度。

代码实例:

初始化带有指定 maxWidth 选项的 resizable:

$( ".selector" ).resizable({ maxWidth: 300 });    

在初始化后,获取或设置 maxWidth 选项:

// gettervar maxWidth = $( ".selector" ).resizable( "option", "maxWidth" ); // setter$( ".selector" ).resizable( "option", "maxWidth", 300 );    
null
minHeightNumberresizable 允许被调整到的最小高度。

代码实例:

初始化带有指定 minHeight 选项的 resizable:

$( ".selector" ).resizable({ minHeight: 150 });    

在初始化后,获取或设置 minHeight 选项:

// gettervar minHeight = $( ".selector" ).resizable( "option", "minHeight" ); // setter$( ".selector" ).resizable( "option", "minHeight", 150 );    
10
minWidthNumberresizable 允许被调整到的最小宽度。

代码实例:

初始化带有指定 minWidth 选项的 resizable:

$( ".selector" ).resizable({ minWidth: 150 });    

在初始化后,获取或设置 minWidth 选项:

// gettervar 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 关联的值。
  • optionName
    类型:String
    描述:要获取的选项的名称。

代码实例:

调用该方法:

var isDisabled = $( ".selector" ).resizable( "option", "disabled" );    
option() PlainObject获取一个包含键/值对的对象,键/值对表示当前 resizable 选项哈希。
  • 该方法不接受任何参数。

代码实例:

调用该方法:

var options = $( ".selector" ).resizable( "option" );    
option( optionName, value ) jQuery (plugin only)设置与指定的 optionName 关联的 resizable 选项的值。
  • optionName
    类型:String
    描述:要设置的选项的名称。
  • value
    类型:Object
    描述:要为选项设置的值。

代码实例:

调用该方法:

$( ".selector" ).resizable( "option", "disabled", true );    
option( options ) jQuery (plugin only)为 resizable 设置一个或多个选项。
  • options
    类型:Object
    描述:要设置的 option-value 对。

代码实例:

调用该方法:

$( ".selector" ).resizable( "option", { disabled: true } );    
widget() jQuery返回一个包含 resizable 元素的 jQuery 对象。
  • 该方法不接受任何参数。

代码实例:

调用 widget 方法:

var widget = $( ".selector" ).resizable( "widget" );    

事件类型 描述
create( event, ui ) resizecreate当 resizable 被创建时触发。
  • event
    类型:Event
  • ui
    类型:Object

注意:ui 对象是空的,这里包含它是为了与其他事件保持一致性。

代码实例:

初始化带有指定 create 回调的 resizable:

$( ".selector" ).resizable({  create: function( event, ui ) {}});    

绑定一个事件监听器到 resizecreate 事件:

$( ".selector" ).on( "resizecreate", function( event, ui ) {} );    
resize( event, ui )resize在调整尺寸期间当调整手柄拖拽时触发。
  • event
    类型:Event
  • ui
    类型:Object
    • element
      类型:jQuery
      描述:jQuery 对象,表示要被调整尺寸的元素。
    • helper
      类型:jQuery
      描述:jQuery 对象,表示被调整尺寸的助手(helper)。
    • originalElement
      类型:jQuery
      描述:jQuery 对象,表示被包裹之前的原始元素。
    • originalPosition
      类型:Object
      描述:resizable 调整前的位置,表示为 { top, left }
    • originalSize
      类型:Object
      描述:resizable 调整前的尺寸,表示为 { width, height }
    • position
      类型:Object
      描述:当前位置,表示为 { top, left }
    • size
      类型:Object
      描述:当前尺寸,表示为 { width, height }

代码实例:

初始化带有指定 resize 回调的 resizable:

$( ".selector" ).resizable({  resize: function( event, ui ) {}});    

绑定一个事件监听器到 resize 事件:

$( ".selector" ).on( "resize", function( event, ui ) {} );    
start( event, ui ) resizestart当调整尺寸操作开始时触发。
  • event
    类型:Event
  • ui
    类型:Object
    • element
      类型:jQuery
      描述:jQuery 对象,表示要被调整尺寸的元素。
    • helper
      类型:jQuery
      描述:jQuery 对象,表示被调整尺寸的助手(helper)。
    • originalElement
      类型:jQuery
      描述:jQuery 对象,表示被包裹之前的原始元素。
    • originalPosition
      类型:Object
      描述:resizable 调整前的位置,表示为 { top, left }
    • originalSize
      类型:Object
      描述:resizable 调整前的尺寸,表示为 { width, height }
    • position
      类型:Object
      描述:当前位置,表示为 { top, left }
    • size
      类型:Object
      描述:当前位置,表示为 { width, height }

代码实例:

初始化带有指定 start 回调的 resizable:

$( ".selector" ).resizable({  start: function( event, ui ) {}});    

绑定一个事件监听器到 resizestart 事件:

$( ".selector" ).on( "resizestart", function( event, ui ) {} );    
stop( event, ui ) resizestop当调整尺寸操作停止时触发。
  • event
    类型:Event
  • ui
    类型:Object
    • element
      类型:jQuery
      描述:jQuery 对象,表示要被调整尺寸的元素。
    • helper
      类型:jQuery
      描述:jQuery 对象,表示被调整尺寸的助手(helper)。
    • originalElement
      类型:jQuery
      描述:jQuery 对象,表示被包裹之前的原始元素。
    • originalPosition
      类型:Object
      描述:resizable 调整前的位置,表示为 { top, left }
    • originalSize
      类型:Object
      描述:resizable 调整前的尺寸,表示为 { width, height }
    • position
      类型:Object
      描述:当前位置,表示为 { top, left }
    • size
      类型:Object
      描述:当前位置,表示为 { width, height }

代码实例:

初始化带有指定 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="https://zhishitu.com/">  <style>  #resizable {    width: 100px;    height: 100px;    background: #ccc;}    </style>  <script src="/images/2021/07/13/07/2021071307100417187590.js"></script>  <script src="/images/2021/07/13/07/2021071307100417707311.js"></script></head><body> <div id="resizable"></div> <script>$( "#resizable" ).resizable();</script> </body></html>