SVGアニメーション – javascriptを使う(6) – fill-opacity要素の動的変化
アニメーションとして取り扱えるSVGのプロパティの fill-opacity を試してみます。
下記のサンプルを用意しました。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>テストHTML</title> <style> #recttest { stroke: #000; stroke-width: 2; } </style> </head> <body> <svg xmlns="http://www.w3.org/2000/svg" width = "500" height = "250" viewBox = "0 0 500 250" > <rect id ="recttest" x ="10" y ="10" width ="100" height ="100" fill ="#999" /> </svg> <script> let inter_value = 0; let millisecond = 30; let dom_rect = document.querySelector("#recttest"); setInterval(() => { console.log("inter_value -> " + inter_value); dom_rect.setAttribute('fill-opacity', inter_value); if (inter_value > 1) { inter_value = 0; } inter_value += 0.01; }, millisecond) </script> </body> </html>
画面にアクセスすると、SVGのrect要素が出力されます。
javascriptによる fill-opacity 要素の動的変更で、rectのfill要素に対して透明度が変化することが確認できます。