縮放(Resizable)
使用滑鼠改變元素的尺寸。
如需了解更多有關 resizable 互動的細節,請查看 API 文件 可調整尺寸小工具(Resizable Widget)。
預設功能
在任意的 DOM 元素上啟用 resizable 功能。透過滑鼠拖曳右邊或底邊的邊框到所需的寬度或高度。
實例
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI 缩放(Resizable) - 默认功能</title> <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css"> <script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script> <link rel="stylesheet" href="jqueryui/style.css"> <style> #resizable { width: 150px; height: 150px; padding: 0.5em; } #resizable h3 { text-align: center; margin: 0; } </style> <script> $(function() { $( "#resizable" ).resizable(); }); </script> </head> <body> <div id="resizable" class="ui-widget-content"> <h3 class="ui-widget-header">缩放(Resizable)</h3> </div> </body> </html>
運行實例»
點擊"運行實例" 按鈕查看線上實例
動畫
使用animate
選項(布林值)使縮放行為動畫化。當該選項設為 true 時,拖曳輪廓到所需的位置,元素會在拖曳停止時以動畫形式調整到該尺寸。
實例
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI 缩放(Resizable) - 动画</title> <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css"> <script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script> <link rel="stylesheet" href="jqueryui/style.css"> <style> #resizable { width: 150px; height: 150px; padding: 0.5em; } #resizable h3 { text-align: center; margin: 0; } .ui-resizable-helper { border: 1px dotted gray; } </style> <script> $(function() { $( "#resizable" ).resizable({ animate: true }); }); </script> </head> <body> <div id="resizable" class="ui-widget-content"> <h3 class="ui-widget-header">动画</h3> </div> </body> </html>
運行實例»
點擊"運行實例" 按鈕查看線上實例
限制縮放區域
#定義縮放區域的邊界。使用 containment
選項來指定一個父級的 DOM 元素或一個 jQuery 選擇器,例如 'document.'。
實例
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI 缩放(Resizable) - 限制缩放区域</title> <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css"> <script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script> <link rel="stylesheet" href="jqueryui/style.css"> <style> #container { width: 300px; height: 300px; } #container h3 { text-align: center; margin: 0; margin-bottom: 10px; } #resizable { background-position: top left; width: 150px; height: 150px; } #resizable, #container { padding: 0.5em; } </style> <script> $(function() { $( "#resizable" ).resizable({ containment: "#container" }); }); </script> </head> <body> <div id="container" class="ui-widget-content"> <h3 class="ui-widget-header">限制</h3> <div id="resizable" class="ui-state-active"> <h3 class="ui-widget-header">缩放(Resizable)</h3> </div> </div> </body> </html>
運行實例»
點擊"運行實例" 按鈕查看線上實例
延遲開始
透過delay
選項設定延遲開始縮放的毫秒數。透過 distance
選項設定遊標被按下且拖曳指定像素後才允許縮放。
實例
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI 缩放(Resizable) - 延迟开始</title> <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css"> <script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script> <link rel="stylesheet" href="jqueryui/style.css"> <style> #resizable, #resizable2 { width: 150px; height: 150px; padding: 0.5em; } #resizable h3, #resizable2 h3 { text-align: center; margin: 0; } </style> <script> $(function() { $( "#resizable" ).resizable({ delay: 1000 }); $( "#resizable2" ).resizable({ distance: 40 }); }); </script> </head> <body> <h3 class="docs">时间延迟 (ms):</h3> <div id="resizable" class="ui-widget-content"> <h3 class="ui-widget-header">时间</h3> </div> <h3 class="docs">距离延迟 (px):</h3> <div id="resizable2" class="ui-widget-content"> <h3 class="ui-widget-header">距离</h3> </div> </body> </html>
運行實例»
點擊"運行實例" 按鈕查看線上實例
助手
透過設定helper
選項為一個CSS class,當縮放時只顯示元素的輪廓。
實例
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI 缩放(Resizable) - 助手</title> <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css"> <script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script> <link rel="stylesheet" href="jqueryui/style.css"> <style> #resizable { width: 150px; height: 150px; padding: 0.5em; } #resizable h3 { text-align: center; margin: 0; } .ui-resizable-helper { border: 2px dotted #00F; } </style> <script> $(function() { $( "#resizable" ).resizable({ helper: "ui-resizable-helper" }); }); </script> </head> <body> <div id="resizable" class="ui-widget-content"> <h3 class="ui-widget-header">助手</h3> </div> </body> </html>
執行實例 »
點擊 "執行實例" 按鈕查看線上實例
最大/最小尺寸
使用maxHeight
、maxWidth
、minHeight
和minWidth
選項限制resizable 元素的最大或最小高度或寬度。
實例
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI 缩放(Resizable) - 最大/最小尺寸</title> <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css"> <script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script> <link rel="stylesheet" href="jqueryui/style.css"> <style> #resizable { width: 200px; height: 150px; padding: 5px; } #resizable h3 { text-align: center; margin: 0; } </style> <script> $(function() { $( "#resizable" ).resizable({ maxHeight: 250, maxWidth: 350, minHeight: 150, minWidth: 200 }); }); </script> </head> <body> <div id="resizable" class="ui-widget-content"> <h3 class="ui-widget-header">放大/缩小</h3> </div> </body> </html>
運行實例»
點擊"運行實例" 按鈕查看線上實例
保持縱橫比
保持現有的縱橫比或設定一個新的縱橫比來限制縮放比例。設定 aspectRatio
選項為 true,且可選地傳遞一個新的比率(例如,4/3)。
實例
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI 缩放(Resizable) - 保持纵横比</title> <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css"> <script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script> <link rel="stylesheet" href="jqueryui/style.css"> <style> #resizable { width: 160px; height: 90px; padding: 0.5em; } #resizable h3 { text-align: center; margin: 0; } </style> <script> $(function() { $( "#resizable" ).resizable({ aspectRatio: 16 / 9 }); }); </script> </head> <body> <div id="resizable" class="ui-widget-content"> <h3 class="ui-widget-header">保持纵横比</h3> </div> </body> </html>
運行實例»
點擊"運行實例" 按鈕查看線上實例
對齊到網格
對齊resizable 元素到網格。透過 grid
選項設定網格單元的尺寸(以像素為單位的高度和寬度)。
實例
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI 缩放(Resizable) - 对齐到网格</title> <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css"> <script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script> <link rel="stylesheet" href="jqueryui/style.css"> <style> #resizable { width: 150px; height: 150px; padding: 0.5em; } #resizable h3 { text-align: center; margin: 0; } </style> <script> $(function() { $( "#resizable" ).resizable({ grid: 50 }); }); </script> </head> <body> <div id="resizable" class="ui-widget-content"> <h3 class="ui-widget-header">网格</h3> </div> </body> </html>
運行實例»
點擊"運行實例" 按鈕查看線上實例
同步縮放
透過點擊並拖曳一個元素的邊來同時調整多個元素的尺寸。給 alsoResize
選項傳遞一個共享的選擇器。
實例
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI 缩放(Resizable) - 同步缩放</title> <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css"> <script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script> <link rel="stylesheet" href="jqueryui/style.css"> <style> #resizable { background-position: top left; } #resizable, #also { width: 150px; height: 120px; padding: 0.5em; } #resizable h3, #also h3 { text-align: center; margin: 0; } #also { margin-top: 1em; } </style> <script> $(function() { $( "#resizable" ).resizable({ alsoResize: "#also" }); $( "#also" ).resizable(); }); </script> </head> <body> <div id="resizable" class="ui-widget-header"> <h3 class="ui-state-active">缩放</h3> </div> <div id="also" class="ui-widget-content"> <h3 class="ui-widget-header">同步缩放</h3> </div> </body> </html>
運行實例»
點擊"運行實例" 按鈕查看線上實例
文字方塊
可縮放的文字方塊。
實例
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI 缩放(Resizable) - 文本框</title> <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css"> <script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script> <link rel="stylesheet" href="jqueryui/style.css"> <style> .ui-resizable-se { bottom: 17px; } </style> <script> $(function() { $( "#resizable" ).resizable({ handles: "se" }); }); </script> </head> <body> <textarea id="resizable" rows="5" cols="20"></textarea> </body> </html>
運行實例»
點擊"運行實例" 按鈕查看線上實例
視覺回饋
透過設定ghost
選項為true,可在縮放期間顯示一個半透明的元素,而不是顯示一個實際的元素。
實例
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI 缩放(Resizable) - 视觉反馈</title> <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css"> <script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script> <link rel="stylesheet" href="jqueryui/style.css"> <style> #resizable { width: 150px; height: 150px; padding: 0.5em; } #resizable h3 { text-align: center; margin: 0; } .ui-resizable-ghost { border: 1px dotted gray; } </style> <script> $(function() { $( "#resizable" ).resizable({ ghost: true }); }); </script> </head> <body> <div id="resizable" class="ui-widget-content"> <h3 class="ui-widget-header">Ghost</h3> </div> </body> </html>
執行實例 »
點擊 "執行實例" 按鈕查看線上實例