ホームページ  >  記事  >  ウェブフロントエンド  >  JSを操作して透明度グラデーションアニメーションを実装する方法

JSを操作して透明度グラデーションアニメーションを実装する方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-06-01 14:40:491689ブラウズ

今回はJSを操作して透明度のグラデーションアニメーションを実現する方法を紹介します。 注意点をJSで操作して透明度のグラデーションアニメーションを実現する方法を紹介します。

<!DOCTYPE html>
<html>
  <head>
  <meta charset="utf-8">
    <title>JS透明度变化效果</title>
    <style>
    body{
      margin: 0px;
      padding: 0px;
    }
    .redb{
      width:200px;
      height: 200px;
      background: red;
      filter:alpha(opacity=30);
      opacity: 0.3;
    }
    </style>
  </head>
  <body>
    <p class="redb" id="opbtn"></p>
    <script>
    window.onload = function(){
      var opp = document.getElementById("opbtn");
      opp.onmouseover = function(){
        startMove(100);
      }
      opp.onmouseout = function(){
        startMove(30);
      }
    }
    var timer = null;
    var alpha = 30;
    var speed = 0;
    function startMove(opTarget){
      clearInterval(timer);
      var opp = document.getElementById("opbtn");
      timer = setInterval(function(){
        if(alpha<opTarget){
          speed = 10;
        }
        else if(alpha>opTarget){
          speed = -10;
        }
        if(alpha==opTarget){
          clearInterval(timer);
        }
        else{
          alpha += speed;
          opp.style.opacity = alpha/100;
          opp.style.filter = 'alpha(opacity='+alpha+')';
        }
      },100);
    }
    </script>
  </body>
</html>

概要:

1. フィルターと不透明度の違い: w3c 標準の透明度は不透明度であり、フィルターは IE でのみ使用でき、他のブラウザーは不透明度をサポートします
2 透明度を変更する場合、透明度の値は取得できません。 offsetLeft に似たメソッドなので、変数を別途作成する必要があります
3. timer を timer に割り当てることを忘れないでください

この記事のケースを読んだ後は、このメソッドを習得したと思います。 PHP 中国語 Web サイトの他の関連記事にも注目してください。

推奨読書:

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

キャッシュ呼び出しチェーンを使用して JS メソッドのオーバーロードを実装する手順の詳細な説明

以上がJSを操作して透明度グラデーションアニメーションを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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