JS を使用して単純な折りたたみと展開のアニメーションを実装する方法

php中世界最好的语言
リリース: 2018-06-01 14:42:15
オリジナル
1669 人が閲覧しました

今回は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+&#39;px&#39;;
   }
   },30)
  }
  </script>
 </body>
</html>
ログイン後にコピー

動作効果:

1. CSS 部分: 1. CSS ファイルの参照メソッドを確認します。参照メソッド) 3.

絶対位置

と相対位置関係を確認します (親関係は relative を使用します。子関係は

absolute

を使用します)

2. js 部分: 1、element.style.left &

element .offsetLeft

違い: ① 前者の単位は px であり、後者の単位は数値です。

② その他は http://www.jb51.net/article を参照してください。 /43981.htm

2. 最初は十分なアイデアがありません マウスの配置と移動の重要な変数を抽象化できていないのは明らかです - ターゲットの位置が違うだけです 3. 関数パラメータ

をできるだけ少なくします目標が達成できれば)


4. マウス アクション オブジェクトは親レベルに設定されます。p が最適です。そうでない場合はちらつきが発生します (

onmouseover

が呼び出されたばかりで、ターゲットが削除され、

onmouseout

が再度呼び出されました) 5. タイマーのクリアに注意してください (①、移動時の速度が不安定になるのを防ぐため、②、目標位置まで停止モーション)

3. その他: Q: Google Chrome はポップアップ ウィンドウのブロックを解除できますか?

A: 設定 - 詳細設定 - プライバシー設定 - コンテンツ設定 - 関連する設定を行うためのポップアップ ウィンドウ。

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。 推奨書籍:

JS で DOM ノードを使用する方法

JS を使用してバッファリング動作を実装する方法

以上がJS を使用して単純な折りたたみと展開のアニメーションを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート