- JqueryUI 教程
- JqueryUI - 主页
- JqueryUI - 概述
- JqueryUI - 环境设置
- JqueryUI 小部件
- JqueryUI - 手风琴
- JqueryUI - 自动完成
- JqueryUI - 按钮
- JqueryUI - 日期选择器
- JqueryUI - 对话框
- JqueryUI - 菜单
- JqueryUI - 进度条
- JqueryUI - 滑块
- JqueryUI - 微调器
- JqueryUI - 选项卡
- JqueryUI - 工具提示
- JqueryUI 效果
- JqueryUI - 添加类
- JqueryUI - 彩色动画
- JqueryUI - 效果
- JqueryUI - 隐藏
- JqueryUI - 删除类
- JqueryUI - 显示
- JqueryUI - 切换类
- JqueryUI - 切换
- JqueryUI - 切换类
- JqueryUI 实用程序
- JqueryUI - 位置
- JqueryUI - 部件工厂
- JqueryUI 有用的资源
- JqueryUI - 快速指南
- JqueryUI - 有用的资源
- JqueryUI - 讨论
JqueryUI - 可调整大小
jQueryUI 提供 resizing() 方法来调整任何 DOM 元素的大小。此方法简化了元素大小的调整,否则需要花费时间和大量 HTML 编码。resizing() 方法在项目的右下角显示一个图标以调整大小。
句法
resizing ()方法可以以两种形式使用 -
$(selector, context).ressized(options) 方法
resizing (options)方法声明 HTML 元素可以调整大小。options参数是一个对象,指定调整大小时涉及的元素的Behave。
句法
$(selector, context).resizable (options);
您可以在使用 Javascript 对象时一次提供一个或多个选项。如果要提供多个选项,那么您将使用逗号分隔它们,如下所示 -
$(selector, context).resizable({option1: value1, option2: value2..... });
下表列出了可以与此方法一起使用的不同选项-
先生。 | 选项和说明 |
---|---|
1 | 也调整大小
该选项的类型为Selector、jQuery或任何 DOM Element。它表示在调整原始对象大小时也会调整大小的元素。默认情况下它的值为false。 |
2 | 动画化
当设置为true时,此选项用于在释放鼠标按钮时在调整大小期间启用视觉效果。默认值为false(无效)。 |
3 | 动画持续时间
该选项用于设置调整大小效果的持续时间(以毫秒为单位)。仅当animate 选项为true时才使用此选项。默认情况下,其值为“slow”。 |
4 | 动画缓动
此选项用于指定在使用动画选项时应用哪种缓动。默认情况下它的值为"swing"。 |
5 | 纵横比
此选项用于指示是否保留项目的纵横比(高度和宽度)。默认情况下它的值为false。 |
6 | 自动隐藏
此选项用于隐藏放大图标或手柄,除非鼠标位于项目上方。默认情况下它的值为false。 |
7 | 取消
此选项用于防止调整指定元素的大小。默认情况下,其值为input,textarea,button,select,option。 |
8 | 遏制
此选项用于限制指定元素或区域内元素的大小调整。默认情况下它的值为false。 |
9 | 延迟
该选项用于设置容差或延迟(以毫秒为单位)。此后将开始调整大小或位移。默认情况下其值为 0。 |
10 | 残疾人
当设置为true时,此选项将禁用调整大小机制。鼠标不再调整元素大小,直到使用可调整大小(“enable”)启用该机制。默认情况下它的值为false。 |
11 | 距离
使用此选项,仅当鼠标移动一定距离(像素)时才开始调整大小。默认情况下,其值为1 像素。这有助于防止单击元素时意外调整大小。 |
12 | 鬼
当此选项设置为true时,会显示一个半透明的辅助元素以调整大小。当鼠标松开时,该幽灵项目将被删除。默认情况下它的值为false。 |
13 | 网格
该选项的类型为数组[x,y],表示鼠标移动过程中元素水平和垂直扩展的像素数。默认情况下它的值为false。 |
14 | 把手
该选项是一个字符串,指示可以调整元素的哪些边或角度的大小。默认情况下,其值为e、s、se。 |
15 | 帮手
此选项用于添加 CSS 类来设置要调整大小的元素的样式。调整元素大小时,会创建一个新的 <div> 元素,该元素是缩放的元素(ui-ressized-helper 类)。调整大小完成后,原始元素的大小就会调整,并且 <div> 元素就会消失。默认情况下它的值为false。 |
16 | 最大高度
此选项用于设置允许调整大小的最大高度。默认情况下它的值为null。 |
17 号 | 最大宽度
此选项用于设置允许调整大小的最大宽度。默认情况下它的值为null。 |
18 | 最小高度
此选项用于设置允许调整大小的最小高度。默认情况下其值为10。 |
19 | 最小宽度
此选项用于设置允许调整大小的最小宽度。默认情况下其值为10。 |
以下部分将向您展示一些调整大小功能的工作示例。
默认功能
以下示例演示了可调整大小功能的简单示例,不向ressized()方法传递任何参数。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Resizable functionality</title> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <!-- CSS --> <style> .ui-widget-header { background:#b9cd6d; border: 1px solid #b9cd6d; color: #FFFFFF; font-weight: bold; } .ui-widget-content { background: #cedc98; border: 1px solid #DDDDDD; color: #333333; } #resizable { width: 150px; height: 150px; padding: 0.5em; text-align: center; margin: 0; } </style> <!-- Javascript --> <script> $(function() { $( "#resizable" ).resizable(); }); </script> </head> <body> <!-- HTML --> <div id = "resizable" class = "ui-widget-content"> <h3 class = "ui-widget-header">Pull my edges to resize me!!</h3> </div> </body> </html>
让我们将上面的代码保存在 HTML 文件resizeexample.htm中,并在支持 JavaScript 的标准浏览器中打开它,您应该看到以下输出。现在,您可以使用结果 -
拖动方形边框以调整大小。
动画和幽灵的使用
下面的例子演示了JqueryUI的resize函数中animate和ghost这两个选项的用法。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Resizable functionality</title> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <!-- CSS --> <style> .ui-widget-header { background:#b9cd6d; border: 1px solid #b9cd6d; color: #FFFFFF; font-weight: bold; } .ui-widget-content { background: #cedc98; border: 1px solid #DDDDDD; color: #333333; } #resizable-2,#resizable-3 { width: 150px; height: 150px; padding: 0.5em; text-align: center; margin: 0; } </style> <!-- Javascript --> <script> $(function() { $( "#resizable-2" ).resizable({ animate: true }); $( "#resizable-3" ).resizable({ ghost: true }); }); </script> </head> <body> <!-- HTML --> <div id = "resizable-2" class = "ui-widget-content"> <h3 class = "ui-widget-header"> Pull my edges and Check the animation!! </h3> </div><br> <div id = "resizable-3" class = "ui-widget-content"> <h3 class = "ui-widget-header">I'm ghost!!</h3> </div> </body> </html>
让我们将上面的代码保存在 HTML 文件resizeexample.htm中,并在支持 javascript 的标准浏览器中打开它,您还必须看到以下输出。现在,您可以使用结果 -
拖动方形边框以调整大小并查看动画和重影选项的效果。
使用包含、minHeight 和 minWidth
下面的示例演示了JqueryUI 的 resize 函数中包含、minHeight和minWidth三个选项的用法。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Resizable functionality</title> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <style> .ui-widget-header { background:#b9cd6d; border: 1px solid #b9cd6d; color: #FFFFFF; font-weight: bold; } .ui-widget-content { background: #cedc98; border: 1px solid #DDDDDD; color: #333333; } #container-1 { width: 300px; height: 300px; } #resizable-4 {background-position: top left; width: 150px; height: 150px; } #resizable-4, #container { padding: 0.5em; } </style> <script> $(function() { $( "#resizable-4" ).resizable({ containment: "#container", minHeight: 70, minWidth: 100 }); }); </script> </head> <body> <div id = "container" class = "ui-widget-content"> <div id = "resizable-4" class = "ui-state-active"> <h3 class = "ui-widget-header"> Resize contained to this container </h3> </div> </div> </body> </html>
让我们将上面的代码保存在 HTML 文件resizeexample.htm中,并在支持 JavaScript 的标准浏览器中打开它,您应该看到以下输出。现在,您可以使用结果 -
拖动方形边框来调整大小,调整大小不能超出主容器。
使用延迟、距离和自动隐藏
下面的例子演示了JqueryUI的resize函数中delay、distance和autoHide三个选项的用法。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Resizable functionality</title> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <style> .ui-widget-header { background:#b9cd6d; border: 1px solid #b9cd6d; color: #FFFFFF; font-weight: bold; } .ui-widget-content { background: #cedc98; border: 1px solid #DDDDDD; color: #333333; } .square { width: 150px; height: 150px; border: 1px solid black; text-align: center; float: left; margin-left: 20px; -right: 20px; } </style> <script> $(function() { $( "#resizable-5" ).resizable({ delay: 1000 }); $( "#resizable-6" ).resizable({ distance: 40 }); $( "#resizable-7" ).resizable({ autoHide: true }); }); </script> </head> <body> <div id = "resizable-5" class = "square ui-widget-content"> <h3 class = "ui-widget-header"> Resize starts after delay of 1000ms </h3> </div><br> <div id = "resizable-6" class = "square ui-widget-content"> <h3 class = "ui-widget-header"> Resize starts at distance of 40px </h3> </div><br> <div id = "resizable-7" class = "square ui-widget-content"> <h3 class = "ui-widget-header"> Hover over me to see the magnification icon! </h3> </div> </body> </html>
让我们将上面的代码保存在 HTML 文件resizeexample.htm中,并在支持 JavaScript 的标准浏览器中打开它,您应该看到以下输出。现在,您可以使用结果 -
拖动方形边框来调整大小,您可以注意到 -
第一个方框在延迟 1000ms 后调整大小,
鼠标移动 40 像素后,第二个方框开始调整大小。
将鼠标悬停在第三个方框上,就会出现放大图标。
使用alsoResize
下面的示例演示了JqueryUI 的调整大小功能中选项alsoResize的用法。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Resizable functionality</title> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <!-- CSS --> <style> .ui-widget-header { background:#b9cd6d; border: 1px solid #b9cd6d; color: #FFFFFF; font-weight: bold; } .ui-widget-content { background: #cedc98; border: 1px solid #DDDDDD; color: #333333; } #resizable-8,#resizable-9{ width: 150px; height: 150px; padding: 0.5em;text-align: center; margin: 0; } </style> <!-- Javascript --> <script> $(function() { $( "#resizable-8" ).resizable({ alsoResize: "#resizable-9" }); $( "#resizable-9" ).resizable(); }); </script> </head> <body> <!-- HTML --> <div id = "resizable-8" class = "ui-widget-content"> <h3 class = "ui-widget-header">Resize!!</h3> </div><br> <div id = "resizable-9" class = "ui-widget-content"> <h3 class = "ui-widget-header">I also get resized!!</h3> </div> </body> </html>
让我们将上面的代码保存在 HTML 文件resizeexample.htm中,并在支持 JavaScript 的标准浏览器中打开它,您应该看到以下输出。现在,您可以使用结果 -
拖动方形边框来调整大小,您可以注意到第二个方框也随着第一个方框调整大小。
AspectRatio、网格的使用
下面的例子演示了JqueryUI的调整大小功能中选项aspectRatio和grid的用法。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Resizable functionality</title> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <style> .ui-widget-header { background:#b9cd6d; border: 1px solid #b9cd6d; color: #FFFFFF; font-weight: bold; } .ui-widget-content { background: #cedc98; border: 1px solid #DDDDDD; color: #333333; } .square { width: 150px; height: 150px; border: 1px solid black; text-align: center; float: left; margin-left: 20px; margin-right: 20px; } </style> <script> $(function() { $( "#resizable-10" ).resizable({ aspectRatio: 10 / 3 }); $( "#resizable-11" ).resizable({ grid: [50,20] }); }); </script> </head> <body> <div id = "resizable-10" class = "square ui-widget-content"> <h3 class = "ui-widget-header"> Resize with aspectRatio of 10/3 </h3> </div> <div id = "resizable-11" class = "square ui-widget-content"> <h3 class = "ui-widget-header"> Snap me to the grid of [50,20] </h3> </div> </body> </html>
让我们将上面的代码保存在 HTML 文件resizeexample.htm中,并在支持 JavaScript 的标准浏览器中打开它,您应该看到以下输出。现在,您可以使用结果 -
拖动方形边框调整大小,第一个方框以 10 / 3 的长宽比调整大小,第二个方框以 [50,20] 的网格调整大小。
$(selector, context).ressized("action", params) 方法
resizing ("action", params)方法可以对可调整大小的元素执行操作,例如允许或阻止调整大小功能。该操作被指定为第一个参数中的字符串(例如,“禁用”以防止调整大小)。查看下表中可以通过的操作。
句法
$(selector, context).resizable ("action", params);;
下表列出了可以与此方法一起使用的不同操作-
先生。 | 动作与描述 |
---|---|
1 | 破坏
此操作完全破坏了元素的可调整大小的功能。这将使元素返回到其预初始化状态。 |
2 | 禁用
此操作会禁用元素的调整大小功能。此方法不接受任何参数。 |
3 | 使能够
此操作启用元素的调整大小功能。此方法不接受任何参数。 |
4 | 选项(选项名称)
此操作检索指定optionName的值。此选项对应于与可调整大小(选项)一起使用的选项之一。 |
5 | 选项()
获取一个对象,其中包含表示当前可调整大小的选项哈希的键/值对。这不接受任何论据。 |
6 | 选项(选项名称,值)
此操作使用指定的optionName设置可调整大小选项的值。此选项对应于与可调整大小(选项)一起使用的选项之一。 |
7 | 选项(选项)
此操作设置一个或多个可调整大小的选项。 |
8 | 小部件()
此操作返回一个包含可调整大小的元素的jQuery对象。此方法不接受任何参数。 |
例子
现在让我们看一个使用上表中的操作的示例。以下示例演示了destroy()和 disable() 方法的使用。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Resizable functionality</title> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <!-- CSS --> <style> .ui-widget-header { background:#b9cd6d; border: 1px solid #b9cd6d; color: #FFFFFF; font-weight: bold; } .ui-widget-content { background: #cedc98; border: 1px solid #DDDDDD; color: #333333; } #resizable-12,#resizable-13 { width: 150px; height: 150px; padding: 0.5em;text-align: center; margin: 0; } </style> <!-- Javascript --> <script> $(function() { $( "#resizable-12" ).resizable(); $( "#resizable-12" ).resizable('disable'); $( "#resizable-13" ).resizable(); $( "#resizable-13" ).resizable('destroy'); }); </script> </head> <body> <!-- HTML --> <div id = "resizable-12" class = "ui-widget-content"> <h3 class = "ui-widget-header">I'm disable!!</h3> </div><br> <div id = "resizable-13" class = "ui-widget-content"> <h3 class = "ui-widget-header">I'm Destroyed!!</h3> </div> </body> </html>
让我们将上面的代码保存在 HTML 文件resizeexample.htm中,并在支持 javascript 的标准浏览器中打开它,您应该看到以下输出 -
您无法调整第一个方框的大小,因为它被禁用,并且第二个方框被破坏。
可调整大小元素的事件管理
除了我们在前面几节中看到的可调整大小(选项)方法之外,JqueryUI 还提供了针对特定事件触发的事件方法。下面列出了这些事件方法 -
先生。 | 活动方式及说明 |
---|---|
1 | 创建(事件,用户界面)
当创建可调整大小的元素时会触发此事件。 |
2 | 调整大小(事件,用户界面)
当拖动可调整大小的元素的处理程序时,会触发此事件。 |
3 | 开始(事件,用户界面)
该事件在调整大小操作开始时触发。 |
4 | 停止(事件,用户界面)
该事件在调整大小操作结束时触发。 |
例子
以下示例演示了调整大小功能期间事件方法的用法。此示例演示了事件create和resize的使用。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Resizable functionality</title> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> <script src="https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <!-- CSS --> <style> .ui-widget-header { background:#b9cd6d; border: 1px solid #b9cd6d; color: #FFFFFF; font-weight: bold; } .ui-widget-content { background: #cedc98; border: 1px solid #DDDDDD; color: #333333; } #resizable-14{ width: 150px; height: 150px; padding: 0.5em;text-align: center; margin: 0; } </style> <!-- Javascript --> <script> $(function() { $( "#resizable-14" ).resizable({ create: function( event, ui ) { $("#resizable-15").text ("I'm Created!!"); }, resize: function (event, ui) { $("#resizable-16").text ("top = " + ui.position.top + ", left = " + ui.position.left + ", width = " + ui.size.width + ", height = " + ui.size.height); } }); }); </script> </head> <body> <!-- HTML --> <div id = "resizable-14" class = "ui-widget-content"> <h3 class = "ui-widget-header">Resize !!</h3> </div><br> <span id = "resizable-15"></span><br> <span id = "resizable-16"></span> </body> </html>
让我们将上面的代码保存在 HTML 文件resizeexample.htm中,并在支持 javascript 的标准浏览器中打开它,应该会看到以下输出 -
拖动方框,您将看到调整大小事件中显示的输出。