今回はJSを使って簡単な折り畳み・展開アニメーションを実現する方法を紹介します。 JSを使って簡単な折り畳み・展開アニメーションを実装する際の注意点を紹介します。
<!DOCTYPE = html> <html> <head> <title>JS折叠展开动画</title> <style> body{ margin: 0px; padding: 0px; } .red{ background-color:red; width:200px; height:200px; position:relative; left:-200px; top:0px; } .blue{ background:blue; width:20px; height:50px; position:absolute; left:200px; top:75px; } </style> </head> <body> <p class="red" id="cf1"><p class="blue" id="cf">分享</p></p> <script> window.onload = function(){ var onp = document.getElementById("cf1"); onp.onmouseover = function(){ startmove(0); } onp.onmouseout = function(){ startmove(-200); } } var timer ; function startmove(target){ clearInterval(timer);//清除定时器,以免多次触发定时器导致速度越来越快而不是匀速前进 var onp1 = document.getElementById("cf1"); timer = setInterval(function(){ var speed = 0; if(onp1.offsetLeft<target){ speed = 10; }else{ speed = -10; } if(onp1.offsetLeft==target){ clearInterval(timer); } else{ onp1.style.left = onp1.offsetLeft+speed+'px'; } },30) } </script> </body> </html>
動作効果:
1. CSS 部分: 1. CSS ファイルの参照メソッドを確認します。参照メソッド) 3.
絶対位置と相対位置関係を確認します (親関係は relative を使用します。子関係は
absolute を使用します)
2. js 部分: 1、element.style.left &
違い: ① 前者の単位は px であり、後者の単位は数値です。
② その他は http://www.jb51.net/article を参照してください。 /43981.htm2. 最初は十分なアイデアがありません マウスの配置と移動の重要な変数を抽象化できていないのは明らかです - ターゲットの位置が違うだけです 3. 関数パラメータ
をできるだけ少なくします目標が達成できれば)
4. マウス アクション オブジェクトは親レベルに設定されます。p が最適です。そうでない場合はちらつきが発生します (
が呼び出されたばかりで、ターゲットが削除され、
onmouseoutが再度呼び出されました) 5. タイマーのクリアに注意してください (①、移動時の速度が不安定になるのを防ぐため、②、目標位置まで停止モーション)
3. その他: Q: Google Chrome はポップアップ ウィンドウのブロックを解除できますか?
A: 設定 - 詳細設定 - プライバシー設定 - コンテンツ設定 - 関連する設定を行うためのポップアップ ウィンドウ。
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。 推奨書籍:
JS で DOM ノードを使用する方法JS を使用してバッファリング動作を実装する方法
以上がJS を使用して単純な折りたたみと展開のアニメーションを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。