ホームページ ウェブフロントエンド jsチュートリアル JSモーションアニメーションの8つの知識_JavaScriptスキル

JSモーションアニメーションの8つの知識_JavaScriptスキル

May 16, 2016 pm 04:10 PM
js アニメーション スポーツ

今日、私は単純に js モーション アニメーションを学び、自分の経験を記録し、それをみんなと共有しました。

以下は私がまとめた結果です。

知識ポイント 1: アニメーションの速度を向上させます。

1. 最初のステップは、スピード モーション アニメーションを実装し、関数をカプセル化することです。使用される知識は setInterval(function(){

) です。

コードをコピーします コードは次のとおりです:

oDiv.style.left=oDiv.offsetLeft 10 "px";
},30).

ここで offsetLeft が使用されている理由については、特に検索して得た有益な情報は次のとおりです。

a.offsetLeft と left の類似点は、親ノードに対する子ノードの左位置を表すことです。
b. ただし、left は読み取りと書き込みが可能ですが、offsetLeft は読み取り専用です。 c. そして offsetLeft には単位がなく、子ノードの位置を取得するときにその後ろに px がありません。

このブロガー

http://blog.163.com/hongshaoguoguo@126/blog/static/18046981201372885729561/ のおかげで、追加の知識が得られます。

2. 移動中のノードを停止します。ここでは if ステートメントを使用して検証を行います。offsetLeft==0、clearInterval (タイマー) の場合、ここでのタイマーは事前に初期化 = null にし、前のモーション アニメーションを割り当てます。それに。

3. ここで問題があります。動作が終了する前に再度動作がトリガーされると、動作全体が開始される前に、clearInterval (タイマー) が使用される限り、動作の速度が蓄積されます。大丈夫ですよ。

4. 移動効果と除去効果を設定し、移動のパラメータを設定します。1 つは速度、もう 1 つは目標位置 iTarget の位置によっても速度を判断できることがわかりました。したがって、必要なパラメータは 1 つだけです。

知識ポイント 2: 透明度のグラデーション

1. 実際には、ITarget の値が透明性であること、およびタイマーをクリアしてからタイマーを開いて判断するプロセスなどを除いて、以前とほぼ同じです。

2. パラメーター alpha = 透明度を定義します。タイマーは次のように記述する必要があることに注意してください。

コードをコピーします コードは次のとおりです:
アルファ =速度;
oDiv.style.filter='alpha(opacity:' alpha ')' //これは非常に重要なメソッドなので、このように記述されていることに注意してください
oDiv.style.opacity=alpha/100; //100で割るのを忘れないように注意してください


3. 上記はすべてインラインスタイルです。

知識ポイント 3: 動作のバッファリング

1. 緩衝運動とは、距離が大きくなると速度が大きくなり、距離が小さくなると速度が小さくなる、つまり速度が距離に関係することを意味します。

2. 上記のステートメントに従って、速度を再定義します。速度は最初は 0 でしたが、現在は次のようになります。

コードをコピーします コードは次のとおりです: varspeed=iTarget-oDiv.offsetLeft;


タイマーを再定義します:

コードをコピーします コードは次のとおりです: oDiv.style.left=oDiv.offsetLeft 速度 'px';


この時点で速度が高すぎることがわかりました。次のようにすることができます:

コードをコピーします コードは次のとおりです: varspeed=(iTarget-oDiv.offsetLeft)/10;


3. この時、深刻な問題が発生します。画面の最小単位が px であるため、最後の左の値がターゲットではない iTarget が存在します。これは、Math の判断によって解決できます。ここでは切り捨てを行うfloor()と切り上げを行うMath.ceil()を紹介します。速度を定義した後、次のように書きます:

コードをコピーします コードは次のとおりです: Speed=speed>0?Math.ceil(speed):Math.floor(speed);

このようにして、速度がすべて整数であり、臨界値ではすべて 0 であることが完全に保証されます。

知識ポイント 4: マルチオブジェクトのモーション

1. まずすべてのオブジェクトを取得して配列を形成し、次に for ループを使用してそれを実行し (この方法は実に古典的です!)、for ループにノード イベントを追加し、これを使用して現在のノードを置き換えます。関数 、例: startMove(this, iTarget)、関数 startMove(obj, iTarget) を定義する場合。

2. 現在の幅 offsetWidth を取得するときは、obj の値を使用する必要があります。

3. マウスが非常に速く移動すると、ノードの幅を元の状態に戻すことができなくなります。これは、タイマーが全員に共通のタイマーであるため、前のノードが戻る前に次のノードがタイマーをクリアしてしまうためです。解決策は、各ノードにインデックスを追加することです。つまり、上記の for ループに aDiv[i].timer=null; を追加し、定義された関数の timer を obj.timer に置き換えます。したがって、共有タイマーに何かが起こることに注意する必要があります。

4. 透明度の移動では、アルファが速度の代わりになりますが、タイマーが共有されていない場合でも、複数のオブジェクトの移動では問題が発生します。これは、アルファが共有されるため、各オブジェクトが互いに引き裂かれてしまいます。解決策は、タイマーのような for ループ内の各ノードにアルファを割り当てるように使用することです。

概要: 競合を解決するには、初期化するか個人化します。

知識ポイント 5. スタイルを取得する

1. ノードの幅を変更するタイマー(移動時は大、削除時は小)で、ノードにボーダーを追加すると、移動時は対象ノードより小さく、移動時は対象ノードより大きくなります。移動時の対象ノード。幅パディング スクロールバー (スクロール バー) の境界線に注意してください。その理由は、各オフセットが境界線*2- (タイマーのたびに値が減少する) が増加するためです。

2. 上記の問題を解決する方法は、width を行内に記述し、offsetLeft の代わりに parseInt(oDiv.style.width) を使用することですが、必ずしも行内に記述できるわけではないので、その値を取得する関数を定義します。リンクスタイル:

コードをコピーします コードは次のとおりです:

function getStyle(obj,attr){
if(obj.currentStyle){
return obj.currentStyle[attr] //つまりブラウザ
; }
else{
return getComputerStyle(obj,false)[attr] //その他のブラウザ
}
}

3. font-size については、js で fontSize を記述する方法は 1 つだけです。

知識ポイント 6: 任意の属性値

1. すべてのオフセットタイプには小さなバグがあります。getStyle 関数を使用する必要があります。この関数は parseInt() と一緒に使用されることが多く、通常は変数に保存されます。

2. style.width を記述するときに、style['width'] と記述することもできます。

3. 複数のオブジェクトの属性値を調整するために、スタイルをパラメータとしてカプセル化して、マルチオブジェクト属性関数に 3 つの属性値 (obj、attr、iTarget) が含まれるようにすることができます。

4. 上記のモーション フレームは透明度の変更には適していません。透明度は 10 進数であるためです。1 つ目は parseInt、2 つ目は attr=...px です。ここでは、Use if 解釈を使用して処理できます。透明度を個別に設定し、parseInt を parseFloat に置き換え、px を削除します。

5. コンピューター自体にバグがあるため、0.07*100 は 7 に等しくないため、四捨五入された値である Math.round() という関数を導入します。

知識ポイント 7: チェーンモーション

1. move.js フレームワークを導入します。

2. コールバック関数 fn() を渡し、if で判定し、fn() がある場合は fn() を実行します。

知識ポイント 8: 同時動作

1. 同時モーションを制御するモーション関数を 2 つ記述すると、関数カバレッジが発生します。

2. jsonの知識点を利用します。jsonのループはfor(jsonのi)を使用し、モーション関数のパラメータはobj,json,fnです。

3. iTarget 値はもう存在せず、json[attr] に置き換えられます。

これを書いている時点で、皆さんに気に入っていただけると幸いです。また、皆さんが JS モーション アニメーションを学ぶのに役立つことを願っています。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

PowerPoint でアニメーションが機能しない [修正] PowerPoint でアニメーションが機能しない [修正] Feb 19, 2024 am 11:12 AM

プレゼンテーションを作成しようとしていますが、アニメーションを追加できませんか? Windows PC 上の PowerPoint でアニメーションが機能しない場合は、この記事が役に立ちます。これは多くの人が不満を抱く一般的な問題です。たとえば、Microsoft Teams でのプレゼンテーション中または画面録画中にアニメーションが停止する場合があります。このガイドでは、Windows 上の PowerPoint で動作しないアニメーションを修正するのに役立つさまざまなトラブルシューティング テクニックを説明します。 PowerPoint アニメーションが機能しないのはなぜですか? Windows 上で PowerPoint のアニメーションが機能しない問題を引き起こす可能性のある考えられる理由として、次のようなことが考えられます。

株価分析に必須のツール: PHP と JS を使用してローソク足チャートを描画する手順を学びます 株価分析に必須のツール: PHP と JS を使用してローソク足チャートを描画する手順を学びます Dec 17, 2023 pm 06:55 PM

株式分析に必須のツール: PHP および JS でローソク足チャートを描画する手順を学びます。特定のコード例が必要です。インターネットとテクノロジーの急速な発展に伴い、株式取引は多くの投資家にとって重要な方法の 1 つになりました。株価分析は投資家の意思決定の重要な部分であり、ローソク足チャートはテクニカル分析で広く使用されています。 PHP と JS を使用してローソク足チャートを描画する方法を学ぶと、投資家がより適切な意思決定を行うのに役立つ、より直感的な情報が得られます。ローソク足チャートとは、株価をローソク足の形で表示するテクニカルチャートです。株価を示しています

最初に入力してから終了するように ppt アニメーションを設定する方法 最初に入力してから終了するように ppt アニメーションを設定する方法 Mar 20, 2024 am 09:30 AM

私たちは日々の仕事で ppt をよく使用しますが、ppt のすべての操作機能に精通していますか?例: ppt でアニメーション効果を設定する方法、切り替え効果を設定する方法、各アニメーションの効果時間はどれくらいですか?各スライドは自動的に再生されますか、ppt アニメーションの開始と終了などはできますか? 今回は、まず ppt アニメーションの開始と終了の具体的な手順を共有します。以下にあります。友達、見に来てください。見て! 1. まず、コンピューターで ppt を開き、テキスト ボックスの外側をクリックしてテキスト ボックスを選択します (下図の赤い丸で示されているように)。 2. 次に、メニューバーの[アニメーション]をクリックし、[消去]効果を選択します(図の赤丸部分)。 3. 次に、[

推奨: 優れた JS オープンソースの顔検出および認識プロジェクト 推奨: 優れた JS オープンソースの顔検出および認識プロジェクト Apr 03, 2024 am 11:55 AM

顔の検出および認識テクノロジーは、すでに比較的成熟しており、広く使用されているテクノロジーです。現在、最も広く使用されているインターネット アプリケーション言語は JS ですが、Web フロントエンドでの顔検出と認識の実装には、バックエンドの顔認識と比較して利点と欠点があります。利点としては、ネットワーク インタラクションの削減とリアルタイム認識により、ユーザーの待ち時間が大幅に短縮され、ユーザー エクスペリエンスが向上することが挙げられます。欠点としては、モデル サイズによって制限されるため、精度も制限されることが挙げられます。 js を使用して Web 上に顔検出を実装するにはどうすればよいですか? Web 上で顔認識を実装するには、JavaScript、HTML、CSS、WebRTC など、関連するプログラミング言語とテクノロジに精通している必要があります。同時に、関連するコンピューター ビジョンと人工知能テクノロジーを習得する必要もあります。 Web 側の設計により、次の点に注意してください。

2年の遅れを経て、国産3Dアニメ映画『エル・ランシェン:深海竜』が7月13日に公開予定 2年の遅れを経て、国産3Dアニメ映画『エル・ランシェン:深海竜』が7月13日に公開予定 Jan 26, 2024 am 09:42 AM

当サイトは1月26日、国産3Dアニメ映画『エル・ランシェン:深海竜』が最新スチールを公開し、7月13日に公開されると正式に発表したと報じた。 「Er Lang Shen: The Deep Sea Dragon」は、Mihuxing (Beijing) Movie Co., Ltd.、Horgos Zhonghe Qiancheng Film Co., Ltd.、Zhejiang Hengdian Film Co., Ltd.、Zhejiang Gongying Film によって制作されていることがわかります。 Tianhuo Technology Co., Ltd.とHuawen Image (Beijing) Film Co., Ltd.が制作し、Wang Junが監督したこのアニメーション映画は、当初、2022年7月22日に中国本土で公開される予定でした。 。このサイトのあらすじ:授与神の戦いの後、蒋子耶が神々を分割するために「授与神リスト」を持ち出し、授与神リストは天宮によって九州の深海に封印された秘密の領域。実は、授与神リストには神職以外にも強力な悪霊が数多く封印されている。

PHP と JS を使用して株価ローソク足チャートを作成する方法 PHP と JS を使用して株価ローソク足チャートを作成する方法 Dec 17, 2023 am 08:08 AM

PHP と JS を使用して株のローソク足チャートを作成する方法。株のローソク足チャートは、株式市場で一般的なテクニカル分析グラフィックです。始値、終値、最高値、株価などのデータを描画することで、投資家が株式をより直観的に理解するのに役立ちます。株価の最低価格、価格変動。この記事では、PHP と JS を使用して株価のローソク足チャートを作成する方法を、具体的なコード例とともに説明します。 1. 準備 開始する前に、次の環境を準備する必要があります。 1. PHP を実行するサーバー 2. HTML5 および Canvas をサポートするブラウザー 3

宮崎駿監督のアニメーション映画『紅の豚』が来年1月16日まで延長され、ドゥバンスコアは8.6となった。 宮崎駿監督のアニメーション映画『紅の豚』が来年1月16日まで延長され、ドゥバンスコアは8.6となった。 Dec 18, 2023 am 08:07 AM

当サイトのニュースによると、宮崎駿監督のアニメーション映画『紅の豚』が、公開日を2024年1月16日まで延長すると発表した。本サイトは以前、『紅の豚』が全国芸術連盟特別ラインシネマで上映開始されたことを報じた。 11月17日に公開され、累計興行収入は2,000万10,000を超え、Doubanスコアは8.6、4つ星と5つ星のレビューの85.8%を獲得した。 『紅の豚』はスタジオジブリ制作、宮崎駿監督、森山守山、加藤登紀子、大塚明夫、岡村明美らが吹き替えに参加し、1992年に日本で公開された。この映画は宮崎駿の漫画『飛行船の時代』を原作とし、魔法で豚に変えられたイタリア空軍のエースパイロット、ポロック・ローゼンの物語を描いている。その後、彼は賞金稼ぎとなり、空中強盗と戦い、周囲の人々を守りました。あらすじ: ローゼンは第一次世界大戦の兵士です

PHP および JS 開発のヒント: 株価ローソク足チャートの描画方法をマスターする PHP および JS 開発のヒント: 株価ローソク足チャートの描画方法をマスターする Dec 18, 2023 pm 03:39 PM

インターネット金融の急速な発展に伴い、株式投資を選択する人がますます増えています。株式取引では、ローソク足チャートは一般的に使用されるテクニカル分析手法であり、株価の変化傾向を示し、投資家がより正確な意思決定を行うのに役立ちます。この記事では、PHP と JS の開発スキルを紹介し、株価ローソク足チャートの描画方法を読者に理解してもらい、具体的なコード例を示します。 1. 株のローソク足チャートを理解する 株のローソク足チャートの描き方を紹介する前に、まずローソク足チャートとは何かを理解する必要があります。ローソク足チャートは日本人が開発した

See all articles