コアポイント
animate()
メソッドは、指定された期間にわたって要素のCSSプロパティを徐々に変更することにより、開発者がカスタムアニメーションを作成できる汎用性の高いツールです。 animate()
メソッドは、数値CSSプロパティにのみ適しており、パフォーマンスの問題が発生する可能性があるため、非常に複雑なアニメーションには適していません。 animate(properties[, duration][, easing][, callback])
、そしてほとんどのパラメーターはオプションです。これらのパラメーターは、期間、緩和機能、アニメーションが完了した後に起こることなど、アニメーションの側面を制御します。 animate(properties[, options])
animate()
、fadeIn()
など)が付属していますが、ライブラリはアニメーションが必要なものを作成するための非常に柔軟な方法を提供します。これがこの記事の主題です。 jQueryのhide()
はa slideDown()
ラッパーメソッドanimate()
です。つまり、jqueryによってラップされた以前に選択されたDOM要素のセットで動作します。この方法を使用すると、コレクションの要素に独自のカスタムアニメーション効果を適用できます。これを行うには、アニメーションの最後に到達するCSSスタイルのプロパティと値のセットを提供する必要があります。アニメーション効果中のスタイルの中間値(アニメーションエンジンによって自動的に処理されます)は、効果の持続時間と緩和機能によって決定されます。これについては、すぐに説明します。アニメーション化できるCSSスタイルの属性リストは、数値を受け入れるプロパティに限定されます。この値は、絶対値(たとえば、200)または開始点からの相対値にすることができます。絶対値の場合、jQueryは、ピクセルがデフォルト単位であると想定しています。また、EM、REM、パーセンテージなどの他のユニットを指定することもできます。相対値を指定するには、正または負の方向にそれぞれ相対的なターゲット値を示すようにanimate()
または序文を前に付けなければなりません。 をある程度理解しているので、今度はその署名とパラメーターを調べる時が来ました。 =
-=
animate()
署名とパラメーター
このメソッドには2つの主要なフォームがあり、そのパラメーターのほとんどはオプションです(通常の正方形の括弧で示されています):
animate(properties[, duration][, easing][, callback])
animate(properties[, options])
パラメーターについては、言うことがたくさんあります:
properties
(オブジェクト):アニメーションの最後に到達する値を含むハッシュテーブル。 duration
(number | string):効果持続時間(ミリ秒単位)または事前定義された文字列の1つ:「slow」(600ミリ秒)、「通常」(400ミリ秒)、または「高速」(200ミリ秒)。デフォルトは「通常」です。 easing
(文字列):変換を実行するときに使用される緩和関数の名前。デフォルト値は「スイング」です。 callback
(関数):各アニメーション要素のアニメーション時に実行される関数。 options
(オブジェクト):メソッドに渡すオプションのセットを含むハッシュテーブル。利用可能なオプションは次のとおりです
always
complete
done
duration
easing
fail
progress
queue
specialEasing
start
step
easyという用語は、フレーム速度が処理され、アニメーション化される方法を説明するために使用されます。 オプションがtrueに設定されている場合、アニメーションを順番に実行し、falseに設定すると、アニメーションを並行して実行できます。これにより、私たちが好きなように使用できる多くの力が与えられます。この記事の残りの部分では、これらのパラメーターの実用的なアプリケーションをいくつか実証して、queue
の可能性を体験できるようにします。 animate()
例の例の力を作成します。このアプローチは、アニメーションのパフォーマンスと流encyさに関連する問題のため、非常に複雑なアニメーションには適していないことを忘れないでください。
単一のアニメーションを実行します
animate()
単一のアニメーションを実行するのは非常に簡単です。メソッドを一度呼び出すだけです。たとえば、箱の片側からもう一方の側に要素を移動したい場合があります。このアニメーションを説明するために、1つのdiv要素を他方の内側に設定します。内側のdivに赤い背景があるようにスタイルを整えます。これを行うコードは次のとおりです。 html:
<div class="rectangle"> <div class="square-small"></div> </div>
css:
.rectangle { width: 300px; height: 20px; display: block; position: relative; border: 1px solid black; margin: 20px 0; } .square-small { display: block; width: 20px; height: 20px; position: absolute; background-color: red; }
animate()
の力を使用して、小さな正方形を片側からもう一方に移動します。
$('.rectangle') .find('.square-small') .animate({ left: 280 }, 'slow');
を移動します(クラスleft
)。この値は、前述のCSSコードで設定したコンテナ幅に基づいています。このソリューションは、コンテナの幅を変更した場合、内部<div>
が反対側に到達しないため(コンテナに幅が広い場合)、またはそれを超えるため(幅を超えた場合(幅が狭く設定した場合)、柔軟性がありません。 )。 1つの解決策は、以下に示すように、外部および内部の幅の電流幅の計算に基づいて.square-small
属性の値を設定することです。
<div>
<div>
ループで複数のアニメーションを実行しますleft
1つの要素または要素のグループで複数のアニメーションを実行することは、呼び出しを
left: $('.rectangle').width() - $('.rectangle').find('.square-small').width()
animate()
最後のステップは、JavaScriptコードを書き、理想的な砂時計の周囲を構成する4つの線を描画することです。最も外側の正方形の左上隅から始めて、大きな正方形の右下隅に到達するまで小さな正方形をアニメーション化する必要があります。小さな正方形は、効果を生成するために斜めに移動する必要があります。右下隅に到達したら、左下隅に移動する必要があります。その後、右上隅に到達し、最終的に元の位置に戻る必要があります。このデモを紹介する際に、無限のアニメーションを実行したいと言いました。そのため、最後のステップが完了したら、アニメーション全体を再度実行する方法を見つけなければなりません。これを行うには、1つの関数で4つのリンクされた
<div class="square-big"> <div class="square-small"></div> </div>
上記のコードでは、.square-small
変数を使用する方法に注意してください。そうすれば、
.square-big { width: 300px; height: 300px; display: block; position: relative; border: 1px solid black; margin: 20px 0; }
コールバックを追加する必要があったため、jQueryのanimate()
メソッドを使用しました。 complete
最後の例として、options
、start
、complete
パラメーターのプロパティ(2番目のフォームの2番目のパラメーター)を設定します。目的は、アニメーションの実行中にクリックしたときにアニメーションを実行するボタンを無効にすることです。その後、アニメーションの完了率を示したいと思います。この例では、作成した最初のデモを変更します。説明によると、ボタンと要素(スパンを使用します)を追加して、パーセンテージを表示する必要があります。この変更により、次のタグが表示されます
progress
<div class="rectangle"> <div class="square-small"></div> </div>
オプションに接続されたハンドラーに渡された2番目のパラメーターを使用します。生成されたコードは次のようになります:prop()
progress
.rectangle { width: 300px; height: 20px; display: block; position: relative; border: 1px solid black; margin: 20px 0; } .square-small { display: block; width: 20px; height: 20px; position: absolute; background-color: red; }
この記事では、jQueryの方法で何ができるかについて説明します。その署名と受け入れられたパラメーターを紹介します。この記事では、3つの例のアニメーションを調べます。この記事では、
の可能性を簡単に紹介します。実際、少し忍耐と創造性があれば、本当に複雑で美しいアニメーションを作成できます。
animate()
animate()
よくある質問(FAQ)
jQueryアニメートメソッドとは何ですか?それはどのように機能しますか?
JQuery Animateメソッドは、カスタムアニメーションを作成できる強力なツールです。要素のCSSプロパティを徐々に変更し、持続時間を指定することで機能します。任意のCSS属性をアニメーション化できますが、
marginLeft
jqueryアニメーションを停止または一時停止する方法は? margin-left
jQueryアニメーションアニメーションを使用して、複数のプロパティを一度に処理できますか? stop()
jQuery Animateのステップ関数は、アニメーションのすべてのステップで実行されるコールバック関数です。この関数は、アニメーションプロパティの現在の値である2つのパラメーターを渡します。これは、アニメーションに関する情報を含むオブジェクトです。ステップ関数を使用して、複雑なアニメーションを作成したり、アニメーションをデバッグできます。 now
fx
非数学的なCSSプロパティにjQueryアニメイトを使用できますか?
jQueryアニメイトを使用してアニメーションをリンクする方法は?
jquery animateを使用してスライド効果を作成できますか?
、slideDown
メソッドも提供しています。これは、単純なスライド効果を作成するだけで使いやすいです。 slideUp
slideToggle
私のjQueryアニメーションをよりスムーズにする方法は?
requestAnimationFrame
一連の要素でjQueryアニメートを使用できますか?
jQueryアニメートを使用してフェードエフェクトを作成する方法は?
、およびopacity
メソッドも提供します。これは、単純なフェードエフェクトを作成するだけで使いやすいです。 fadeIn
以上がjQuery animate()メソッドのガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。