jQuery 效果 - 动画
使用j Query,您可以创建自定义动画。
jQuery
jQuery 动画 - animate() 方法
jQuery animate()
方法用于创建自定义动画。
语法:
$(selector).animate({params},speed,callback);
所需的 params
参数定义要设置动画的 CSS 属性。
可选参数 speed
指定效果的持续时间。它可以采用以下值: "slow", "fast", 或者毫秒.
可选参数 callback
是在 animate()
结束后执行的函数。
下面的示例演示了 animate()
方法的简单用法;它将 <div> 元素向右移动,直到其 left
属性达到 250px:
实例
<!DOCTYPE html>
<html>
<head>
<script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("div").animate({left: '250px'});
});
});
</script>
</head>
<body>
<button>开始动画</button>
<p>默认情况下,所有 HTML 元素都有一个静态位置,不能移动。要改变位置,请记住首先将元素的 CSS position 属性设置为relative、fixed 或 absolute!</p>
<div style="background:#98bf21;height:100px;width:100px;position:absolute;"></div>
</body>
</html>
默认情况下,所有 HTML 元素都有一个静态位置,不能移动。要改变位置,请记住首先将元素的 CSS position 属性设置为relative、fixed 或 absolute!
jQuery animate() - 操作多个属性
请注意,可以同时设置多个属性的动画:
实例
<!DOCTYPE html>
<html>
<head>
<script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("div").animate({
left: '250px',
opacity: '0.5',
height: '150px',
width: '150px'
});
});
});
</script>
</head>
<body>
<button>开始动画</button>
<p>默认情况下,所有 HTML 元素都有一个静态位置,不能移动。要改变位置,请记住首先将元素的 CSS position 属性设置为relative、fixed 或 absolute!</p>
<div style="background:#98bf21;height:100px;width:100px;position:absolute;"></div>
</body>
</html>
是否可以使用 animate() 方法操作所有 CSS 属性?是的,差不多!但是,有一件重要的事情需要记住:当与 animate() 方法一起使用时,所有属性名都必须以驼峰大小写:您需要输入 paddingLeft 而不是 padding-left,marginRight 而不是 margin-Right,等等。
此外,颜色动画不包括在核心 jQuery 库中。
如果您想制作颜色动画,你需要从 jQuery 下载 颜色动画插件。
jQuery animate() - 使用 Relative 值
还可以定义相对值 Relative(然后该值与元素的当前值相对)。这是通过将 += 或 -= 放在值前面来实现的:
实例
<!DOCTYPE html>
<html>
<head>
<script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("div").animate({
left: '250px',
height: '+=150px',
width: '+=150px'
});
});
});
</script>
</head>
<body>
<button>开始动画</button>
<p>默认情况下,所有 HTML 元素都有一个静态位置,不能移动。要改变位置,请记住首先将元素的 CSS position 属性设置为relative、fixed 或 absolute!</p>
<div style="background:#98bf21;height:100px;width:100px;position:absolute;"></div>
</body>
</html>
jQuery animate() - 使用预定义的值
甚至可以将属性的动画值指定为: show
, hide
, 或者 toggle
实例
<!DOCTYPE html>
<html>
<head>
<script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("div").animate({
height: 'toggle'
});
});
});
</script>
</head>
<body>
<p>多次单击该按钮以切换动画。</p>
<button>开始动画</button>
<p>默认情况下,所有 HTML 元素都有一个静态位置,不能移动。要改变位置,请记住首先将元素的 CSS position 属性设置为relative、fixed 或 absolute!</p>
<div style="background:#98bf21;height:100px;width:100px;position:absolute;"></div>
</body>
</html>
jQuery animate() - 使用队列功能
默认情况下,jQuery 附带用于动画的队列功能。
这意味着,如果您在彼此之后编写多个 animate()
调用,jQuery 将使用这些方法调用创建一个 "内部" 队列。然后它一个接一个地运行动画调用。
因此,如果您想在彼此之后执行不同的动画,我们将利用队列功能:
实例 1
<!DOCTYPE html>
<html>
<head>
<script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
var div = $("div");
div.animate({height: '300px', opacity: '0.4'}, "slow");
div.animate({width: '300px', opacity: '0.8'}, "slow");
div.animate({height: '100px', opacity: '0.4'}, "slow");
div.animate({width: '100px', opacity: '0.8'}, "slow");
});
});
</script>
</head>
<body>
<button>开始动画</button>
<p>默认情况下,所有 HTML 元素都有一个静态位置,不能移动。要改变位置,请记住首先将元素的 CSS position 属性设置为relative、fixed 或 absolute!</p>
<div style="background:#98bf21;height:100px;width:100px;position:absolute;"></div>
</body>
</html>
下面的示例首先将 <div>
元素向右移动,然后增加文本的字体大小:
实例 2
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
var div = $("div");
div.animate({left: '100px'}, "slow");
div.animate({fontSize: '3em'}, "slow");
});
});
</script>
</head>
<body>
<button>开始动画</button>
<p>默认情况下,所有 HTML 元素都有一个静态位置,不能移动。要改变位置,请记住首先将元素的 CSS position 属性设置为relative、fixed 或 absolute!</p>
<div style="background:#98bf21;height:100px;width:200px;position:absolute;">HELLO</div>
</body>
</html>
jQuery 效果参考
有关所有 jQuery 效果的完整概述,请访问本站的 jQuery 效果参考 。