效果(Effect)
本章将讨论effect()方法,它是用于管理jQueryUI视觉效果的方法之一。 effect()方法将动画效果应用于元素,而不必显示或隐藏它。
语法 (Syntax)
effect()方法具有以下语法 -
.effect( effect [, options ] [, duration ] [, complete ] )
Sr.No. | 参数和描述 |
---|---|
1 | effect 这是一个String,指示用于转换的效果。 |
2 | options 这是Object类型,表示特定于效果的设置easing 。 此外,每个效果都有自己的一组选项,可以在表jQueryUI Effects描述的多个效果中共同指定。 |
3 | duration 它的类型为Number或String,表示效果的毫秒数。 其默认值为400 。 |
4 | complete 这是对此元素的效果完成时为每个元素调用的回调方法。 |
jQueryUI效果
下表描述了可以与effects()方法一起使用的各种效果 -
Sr.No. | 效果和描述 |
---|---|
1 | blind 以窗帘的方式显示或隐藏元素:向下或向上移动底边,或向右或向左移动右边边,具体取决于指定的direction和mode 。 |
2 | bounce 使元素看起来在垂直或水平方向上反弹,可选地显示或隐藏元素。 |
3 | clip 通过将元素的相对边界移动到一起直到它们在中间相遇来显示或隐藏元素,反之亦然。 |
4 | drop 通过使元素显示为放下或删除页面来显示或隐藏元素。 |
5 | explode 通过将元素拆分为多个在径向方向上移动的片段来显示或隐藏元素,就像在页面中嵌入或爆炸一样。 |
6 | fade 通过调整其不透明度来显示或隐藏元素。 这与核心淡入淡出效果相同,但没有选项。 |
7 | fold 通过调整或调出相反的边框来显示或隐藏元素,然后对另一组边框执行相同的操作。 |
8 | highlight 通过在显示或隐藏元素时暂时更改其背景颜色来调用元素。 |
9 | puff 在调整其不透明度的同时扩展或收缩元素。 |
10 | pulsate 在确保按指定显示或隐藏元素之前,调整元素的不透明度。 |
11 | scale 按指定百分比扩展或收缩元素。 |
12 | shake 垂直或水平地来回摇动元件。 |
13 | size 将元素的大小调整为指定的宽度和高度。 与规模类似,但指定目标大小的方式除外。 |
14 | slide 移动元素,使其看起来可以滑入或滑出页面。 |
15 | transfer 动画一个瞬态轮廓元素,使元素看起来转移到另一个元素。 必须通过ui-effects-transfer类的CSS规则或指定为选项的类来定义outline元素的外观。 |
例子 (Examples)
以下示例演示了如何使用上表中列出的具有不同效果的effect()方法。
效果 - 摇晃
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>jQuery UI effect Example</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>
#box-1 {
height: 100px;
width: 100px;
background: #b9cd6d;
}
</style>
<script>
$(document).ready(function() {
$('#box-1').click(function() {
$( "#box-1" ).effect( "shake", {
times: 10,
distance: 100
}, 3000, function() {
$( this ).css( "background", "#cccccc" );
});
});
});
</script>
</head>
<body>
<div id = "box-1">Click On Me</div>
</body>
</html>
让我们将上述代码保存在HTML文件effectexample.htm ,并在支持javascript的标准浏览器中打开它,您应该看到以下输出。
效果 - 爆炸
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI effect Example</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>
#box-2 {
height: 100px;
width: 100px;
background: #b9cd6d;
}
</style>
<script>
$(document).ready(function() {
$('#box-2').click(function() {
$( "#box-2" ).effect({
effect: "explode",
easing: "easeInExpo",
pieces: 4,
duration: 5000
});
});
});
</script>
</head>
<body>
<div id="box-2"></div>
</body>
</html>
让我们将上述代码保存在HTML文件effectexample.htm ,并在支持javascript的标准浏览器中打开它,您还必须看到以下输出。