目次
イージング関数
アニメーションのプロパティ
単位のない属性
颜色属性
后缀属性
最终想法
ホームページ CMS チュートリアル &#&プレス KUTE.js を使用したアニメーション パフォーマンスの最適化: パート 5、強化されたイージング関数とプロパティ

KUTE.js を使用したアニメーション パフォーマンスの最適化: パート 5、強化されたイージング関数とプロパティ

Sep 02, 2023 pm 11:09 PM

使用 KUTE.js 优化动画性能:第 5 部分,增强缓动函数和属性

このシリーズではこれまで、さまざまな要素の CSS プロパティをアニメーション化する方法、さまざまな SVG 関連アニメーションを作成する方法、Web ページ上のさまざまな要素をアニメーション化する方法を学習しました。テキストコンテンツがアニメーション化されます。 KUTE.js を使用して Web ページ上の要素をアニメーション化するもう 1 つの方法は、さまざまなプロパティの値を変更することです。これには、プロジェクトにプロパティ プラグインを含める必要があります。

このチュートリアルでは、プロパティ プラグインを使用して、KUTE.js のさまざまな種類のプロパティの値をアニメーション化する方法を学びます。また、さまざまなアニメーション速度を制御するために使用できるさまざまなイージング関数についても説明します。

イージング関数

現実の物体が直線的に動くことはほとんどありません。速度が上がるか遅くなるかのどちらかです。加速と減速も異なる大きさで発生します。これまでのところ、すべてのアニメーションは直線的に進んでいます。全然自然な感じがしないんです。このセクションでは、さまざまなアニメーション速度を制御するために KUTE.js が提供するすべてのイージング関数について学びます。

ライブラリ内のコア イージング関数は、そのままの状態でコア エンジンに含まれています。 QuadraticInOut イージングをアニメーションに適用するとします。これは 2 つの方法で実現できます:

リーリー

各イージング関数には、アニメーション中に要素がどのように加速するかを決定する独自の曲線があります。 Sine 曲線とは直線加速度を意味します。これは Linear イージング関数と同じではないことに注意してください。 linear この関数はアニメーションの線形速度を表し、正弦曲線はアニメーションの線形加速度を表します。つまり、アニメーションの速度は直線的に増加または減少します。同様に、quadratic は 2 のべき乗の加速を意味し、cubic は 3 のべき乗を意味し、quartic は 4 のべき乗を意味し、quintic 5の累乗を表します。 circular および exponential イージング関数もあります。

InOut、または InOut をイージング関数に追加できます。値 In は、アニメーションが非常にゆっくりと開始され、終了するまで加速し続けることを意味します。値 Out は、アニメーションが最高速度で開始され、最終的に停止するまでゆっくりと減速することを意味します。値 InOut は、アニメーションが最初に加速し、最後に減速することを意味します。

InOut、または を追加して、アニメーション内で bounce および elastic イージング関数を使用することもできます。 InOut をそれらのいずれかに送信します。以下のデモでは、これらすべてのイージング関数をさまざまな円に適用して、アニメーションの速度にどのような影響を与えるかを確認できます。

探しているアニメーションのペースを提供するコアのイージング関数が存在しない可能性があります。この場合、プロジェクトの Experiment ブランチから 3 次ベジェ関数を含めて、これらのイージング関数の使用を開始できます。

同様に、KUTE.js は、Dynamics.js ライブラリからインポートされたいくつかの物理ベースのイージング関数も提供します。これらすべてのイージング関数とその正しい使用方法の詳細については、ライブラリのイージング関数ページで読むことができます。

アニメーションのプロパティ

SVG の属性は、数値と文字列を値として受け入れることができます。文字列には、色の値、または pxem% などの単位接尾辞が付いた数値を指定できます。プロパティ自体の名前は、ハイフンで接続された 2 つの単語で構成することもできます。これらの違いを念頭に置いて、KUTE.js はさまざまなプロパティの値を指定するためのさまざまなメソッドを提供します。

リーリー

ご覧のとおり、接尾辞の値は引用符で囲む必要があります。同様に、名前にハイフンが含まれるプロパティは引用符で囲むか、キャメルケースで指定する必要があります。

単位のない属性

多くのプロパティは単位のない値を受け入れます。たとえば、パスの ストローク幅 は単位なしにすることができます。同様に、Circle 要素の rcx、および cy 属性に単位を指定する必要はありません。プロパティ プラグインを使用すると、これらすべてのプロパティを 1 つの値から別の値にアニメーション化できます。

さまざまなイージング関数の使用方法がわかったので、さまざまなプロパティをさまざまな速度でアニメーション化できるようになります。以下に例を示します:

var radiusAnimation = KUTE.allTo(
  "circle",
  {
    attr: { r: 75 }
  },
  {
    repeat: 1,
    yoyo: true,
    offset: 1000,
    easing: 'easingCubicIn'
  }
);

var centerxAnimationA = KUTE.to(
  "#circle-a",
  {
    attr: { cx: 500 }
  },
  {
    repeat: 1,
    yoyo: true,
    easing: 'easingCubicInOut',
  }
);

var centerxAnimationB = KUTE.to(
  "#circle-b",
  {
    attr: { cx: 100 }
  },
  {
    repeat: 1,
    yoyo: true,
    easing: 'easingCubicInOut'
  }
);

var centeryAnimation = KUTE.allTo(
  "circle",
  {
    attr: { cy: 300 }
  },
  {
    repeat: 1,
    yoyo: true,
    offset: 1000,
    easing: 'easingCubicOut'
  }
);
ログイン後にコピー

第一个补间使用我们在第一个教程中讨论的 allTo() 方法同时对两个圆的半径进行动画处理。如果设置为 true,则 yoyo 属性以相反方向播放动画。

两个圆圈的 cx 属性分别进行动画处理。然而,它们都是由同一个按钮点击触发的。最后,两个圆圈的 cy 属性同时以 1000 毫秒的 offset 进行动画处理。

颜色属性

从版本 1.5.7 开始,KUTE.js 中的属性插件还允许您对 fill行程stopColor 进行动画处理属性。您可以使用有效的颜色名称或颜色的十六进制值。您还可以提供 RGB 或 HSL 格式的颜色值。

您必须记住的一件重要的事情是,只有当您没有在 CSS 中设置这些属性的值时,动画才会起作用。在下面的演示中,如果我在演示中添加了以下 CSS,则 fill 颜色根本不会有动画效果。

rect {
    fill: brown;
}
ログイン後にコピー

我创建的演示非常基础,但您可以通过应用变换和使用更多颜色使其变得更有趣。

后缀属性

许多 SVG 属性,例如 r行程宽度 可以使用或不使用后缀。例如,您可以将 r 的值设置为 10 等数字或 10em 等 em 单位。有一些属性,例如用于颜色停止的 offset 属性,始终要求您添加后缀。在 KUTE.js 中为后缀属性指定值时,请始终确保将该值括在引号内。

在下面的示例中,我对渐变中第一个停止点的偏移值和第二个停止点的颜色进行了动画处理。由于 offset 需要后缀,因此我将值括在引号内。

var offsetAnimation = KUTE.allTo(
  ".stop1",
  {
    attr: { offset: '90%'}
  },
  {
    repeat: 1,
    offset: 1000,
    yoyo: true,
    easing: 'easingCubicIn'
  }
);

var colorAnimation = KUTE.allTo(
  ".stop2",
  {
    attr: { stopColor: 'black'}
  },
  {
    repeat: 1,
    offset: 1000,
    yoyo: true,
    easing: 'easingCubicIn'
  }
);

var scaleAnimation = KUTE.allTo(
  "circle",
  {
    svgTransform: { scale: 2}
  },
  {
    repeat: 1,
    offset: 1000,
    yoyo: true,
    easing: 'easingCubicIn'
  }
);
ログイン後にコピー

演示中有三种不同的渐变,每个渐变都有两个颜色停止点,其类名称为 stop1stop2。我还使用 svgTransform 属性应用了缩放变换,我们在本系列的第三个教程中对此进行了讨论。

最终想法

在本教程中,您了解了 KUTE.js 中提供的不同缓动函数以及如何使用它们来控制自己的动画的速度。您还学习了如何为不同类型的属性设置动画。

我试图在本系列中涵盖 KUTE.js 的所有重要方面。这应该足以帮助您在自己的项目中自信地使用 KUTE.js。您还可以阅读文档以了解有关该库的更多信息。

我还建议您仔细阅读源代码并了解该库的实际工作原理。如果您有任何与本教程相关的问题或提示,请随时在评论中分享。

以上がKUTE.js を使用したアニメーション パフォーマンスの最適化: パート 5、強化されたイージング関数とプロパティの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WordPressは初心者にとって簡単ですか? WordPressは初心者にとって簡単ですか? Apr 03, 2025 am 12:02 AM

WordPressは、初心者が簡単に始めることができます。 1.バックグラウンドにログインした後、ユーザーインターフェイスは直感的であり、シンプルなダッシュボードは必要なすべての関数リンクを提供します。 2。基本操作には、コンテンツの作成と編集が含まれます。 WysiWygエディターは、コンテンツの作成を簡素化します。 3.初心者は、プラグインとテーマを介してウェブサイトの機能を拡張でき、学習曲線は存在しますが、練習を通じて習得できます。

ワードプレスは何に適していますか? ワードプレスは何に適していますか? Apr 07, 2025 am 12:06 AM

wordpressisisgoodforvirtalayanywebprojectoitsversitilityasacms.itexcelsin:1)ユーザーフレンドリー、柔軟性と柔軟性と顧客化の維持、およびプルージンの数値化; 3)seooptimization;

WordPressを3日で学ぶことはできますか? WordPressを3日で学ぶことはできますか? Apr 09, 2025 am 12:16 AM

3日以内にWordPressを学ぶことができます。 1.テーマ、プラグインなどのマスター基本知識。2。インストールや作業原則などのコア関数を理解します。 3.例を使用して、基本的および高度な使用法を学びます。 4.デバッグテクニックとパフォーマンスの最適化の提案を理解します。

WixまたはWordPressを使用する必要がありますか? WixまたはWordPressを使用する必要がありますか? Apr 06, 2025 am 12:11 AM

WIXは、プログラミングの経験がないユーザーに適しており、WordPressは、よりコントロールと拡張機能を必要とするユーザーに適しています。 1)WIXはドラッグアンドドロップエディターとリッチテンプレートを提供しているため、Webサイトをすばやく構築できます。 2)オープンソースのCMSとして、WordPressには巨大なコミュニティとプラグインエコシステムがあり、詳細なカスタマイズと拡張をサポートしています。

WordPressの費用はいくらですか? WordPressの費用はいくらですか? Apr 05, 2025 am 12:13 AM

WordPress自体は無料ですが、使用するには余分な費用がかかります。1。WordPress.comは、無料から支払いまでの範囲のパッケージを提供し、価格は月あたり数ドルから数十ドルまでの範囲です。 2。WordPress.orgでは、ドメイン名(年間10〜20米ドル)とホスティングサービス(月額5〜50米ドル)を購入する必要があります。 3.ほとんどのプラグインとテーマは無料で、有料価格は数十から数百ドルです。適切なホスティングサービスを選択し、プラグインとテーマを合理的に使用し、定期的に維持および最適化することにより、WordPressのコストを効果的に制御および最適化できます。

なぜWordPressを使用するのはなぜですか? なぜWordPressを使用するのはなぜですか? Apr 02, 2025 pm 02:57 PM

人々は、その力と柔軟性のためにWordPressを使用することを選択します。 1)WordPressは、さまざまなWebサイトのニーズに適した、使いやすさとスケーラビリティを備えたオープンソースのCMSです。 2)豊富なテーマとプラグイン、巨大なエコシステム、強力なコミュニティサポートがあります。 3)WordPressの作業原則は、テーマ、プラグイン、コア関数に基づいており、PHPとMySQLを使用してデータを処理し、パフォーマンスの最適化をサポートします。

WordPressはCMSですか? WordPressはCMSですか? Apr 08, 2025 am 12:02 AM

WordPressはコンテンツ管理システム(CMS)です。コンテンツ管理、ユーザー管理、テーマ、プラグイン機能を提供して、Webサイトコンテンツの作成と管理をサポートします。その実用的な原則には、ブログから企業Webサイトまで、さまざまなニーズに適したデータベース管理、テンプレートシステム、プラグインアーキテクチャが含まれます。

WordPressはまだ無料ですか? WordPressはまだ無料ですか? Apr 04, 2025 am 12:06 AM

WordPressのコアバージョンは無料ですが、使用中に他の料金が発生する場合があります。 1。ドメイン名とホスティングサービスには支払いが必要です。 2。高度なテーマとプラグインが充電される場合があります。 3.プロフェッショナルサービスと高度な機能が請求される場合があります。

See all articles