菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

jQuery Effects - 动画


使用 jQuery,您可以创建自定义动画。



jQuery

jQuery 动画 - animate() 方法

jQuery 的 animate() 方法用于创建自定义动画。

语法

$(selector).animate({params},speed,callback);

必需的 params 参数定义了要进行动画处理的 CSS 属性。

可选的 speed 参数指定了效果的持续时间。它可以接受以下值:“slow”(慢)、“fast”(快)或毫秒。

可选的 callback 参数是一个在动画完成时执行的函数。

以下示例演示了 animate() 方法的简单用法;它将一个 <div> 元素向右移动,直到其 left 属性达到 250px。

示例

$("button").click(function(){
  $("div").animate({left: '250px'});
}); 
自己动手试一试 »

默认情况下,所有 HTML 元素的位置属性都是 static,无法移动。
要操作位置,请记住先将元素的 CSS position 属性设置为 relative、fixed 或 absolute!



jQuery animate() - 操作多个属性

请注意,可以同时为多个属性添加动画。

示例

$("button").click(function(){
  $("div").animate({
    left: '250px',
    opacity: '0.5',
    height: '150px',
    width: '150px'
  });
}); 
自己动手试一试 »

是否可以使用 animate() 方法操作所有 CSS 属性?

是的,几乎可以!但是,有一件重要的事情要记住:所有属性名在使用 animate() 方法时都必须是驼峰式命名:您需要写 paddingLeft 而不是 padding-left, marginRight 而不是 margin-right,依此类推。

此外,颜色动画不包含在核心 jQuery 库中。
如果您想为颜色添加动画,需要从 jQuery.com 下载 Color Animations 插件


jQuery animate() - 使用相对值

也可以定义相对值(该值相对于元素的当前值)。这是通过在值前面加上 += 或 -= 来实现的。

示例

$("button").click(function(){
  $("div").animate({
    left: '250px',
    height: '+=150px',
    width: '+=150px'
  });
}); 
自己动手试一试 »

jQuery animate() - 使用预定义值

您甚至可以将属性的动画值指定为“show”(显示)、“hide”(隐藏)或“toggle”(切换)。

示例

$("button").click(function(){
  $("div").animate({
    height: 'toggle'
  });
}); 
自己动手试一试 »

jQuery animate() - 使用队列功能

默认情况下,jQuery 为动画提供了队列功能。

这意味着,如果您连续编写多个 animate() 调用,jQuery 会创建一个“内部”队列来存储这些方法调用。然后它将按顺序一一执行这些 animate 调用。

因此,如果您想依次执行不同的动画,可以利用队列功能。

示例 1

$("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");
}); 
自己动手试一试 »

下面的示例首先将 <div> 元素向右移动,然后增加文本的字体大小。

示例 2

$("button").click(function(){
  var div = $("div");
  div.animate({left: '100px'}, "slow");
  div.animate({fontSize: '3em'}, "slow");
}); 
自己动手试一试 »

jQuery 练习

通过练习来测试自己

练习

使用 animate() 方法将 <div> 元素向右移动 250 像素。

$("div").animate({: ''});

开始练习


jQuery Effects 参考

有关所有 jQuery 效果的完整概述,请访问我们的 jQuery Effect Reference


×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持