English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

jQuery効果 - アニメーション

jQueryでカスタムアニメーションを作成できます。

クリックしてください!

jQuery动画-animate()方法

jQuery animate()方法对一组CSS属性执行自定义动画。

这是animate()方法的语法:

$(selector).animate({styles}, duration, easing, callback)

パラメータ:

  • {styles} -指定动画将向其移动的CSS属性和值的对象

  • duration -确定动画效果将运行多长时间。可能的值:“ slow”,“ fast”或毫秒

  • easing -指示要用于过渡的缓动功能。可能的值:“ swing”,“ linear”

  • callback-指定在animate()方法完成后要调用的函数

以下示例通过更改元素的宽度为元素设置动画:

$("button").click(function(){
  $("div").animate({width: "500px"});
});
测试看看‹/›

以下の例では、要素の位置を変更することで要素にアニメーションを適用します:

$("button").click(function(){
  $("div").animate({left: "500px"});
});
测试看看‹/›

デフォルトでは、すべてのHTML要素は静的位置を持ち、静的要素は移動できません。

位置を操作する場合は、まず要素のCSS 位置属性は相対、固定、または絶対に設定されます。

jQuery animate()-複数の属性の設定

要素の複数の属性に同時にアニメーションを設定することもできます。

$("button").click(function(){
  $("div").animate({
    width: "500px",
    height: "400px",
    opacity: "0.3,
    left: "50px"
  });
});
测试看看‹/›

以下の例では、animate()を使用してdurationeasingパラメータ:

$("button").click(function(){
  $("div").animate({
    width: "500px",
    height: "400px"
  }, 4000, "linear");
});
测试看看‹/›

以下の例では、animate()を使用してコールバックパラメータ:

$("button").click(function(){
  $("div").animate({
    width: "500px",
    height: "400px"
  }, 500, "linear",
  function() {
    $(this).after("<h2>アニメーションが完了しました</h2">
  });
});
测试看看‹/›

animate()メソッドを使用する際に覚えておくべきポイント:

  • すべてのアニメーション属性は、単一の数値(例えば、幅、高さまたは左の値)に設定する必要があります。

  • 文字列値はアニメーション(例えば、背景色)に設定できません

  • 背景色のアニメーションを設定するには、jQueryカラープラグイン

  • animate()メソッドと一緒に使用する場合、属性名はキャメルケース形式でなければなりません:paddingTopを使用する代わりにpadding-top、marginLeftを使用してmargin-left、など

jQuery animate()-キュー付きアニメーションの使用

デフォルトでは、jQueryにはアニメーションのキュー機能があります。

キューには、実行待ちの機能が一つまたは複数あります。

これは、複数のanimate()コールを連続して記述した場合、jQueryがこれらのメソッドコールから「内部」キューを作成し、それを一つずつ実行するという意味です。

以下の例では、まずdiv要素の幅を変更し、次に高さを変更し、最後にテキストのフォントサイズを増やします:

$("button").click(function(){
  let div = $("div");
  div.animate({width: "500px"});
  div.animate({height: "200px"});
  div.animate({fontSize: "10em"});
});
测试看看‹/›

jQueryのリンク機能を使用して、要素の複数の属性にアニメーションを順次実行できます。

$("button").click(function(){
  $("div")
    .animate({width: "500px"})
    .animate({height: "200px"})
    .animate({fontSize: "10em"})
    .animate({opacity: "0.3});
});
测试看看‹/›

您将在本教程的后面部分了解有关链接的更多信息。

jQuery animate()-使用相对值

动画属性也可以是相对的。如果为值提供了前导+=或-=字符序列,则通过从属性的当前值中添加或减去给定的数字来计算目标值。

$("p").click(function(){
  $("this").animate({
    fontSize: "+=5px",
    padding : "+=10px"
  });
});
测试看看‹/›

jQuery animate()-使用预定义值

此外,我们甚至可以指定属性的动画值"show","hide"或"toggle":

$("button").click(function(){
  $("div").animate({height: "toggle"});
});
测试看看‹/›

jQuery效果参考

有关完整的效果参考,请访问我们的jQuery 效果参考手册