現状できている範囲は流線を固定で表示させることです。
以下コード
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script> const draw = function(){ const SCREEN_WIDTH = 1440, SCREEN_HEIGHT = 1000, canvas = document.getElementById("canvas"), g = canvas.getContext("2d"), speed = 1 let lineX = SCREEN_WIDTH / 2 let lineY = 0 g.clearRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); g.fillStyle = "rgba(0, 0, 0, 1)"; g.fillStyle = "rgba(0, 0, 0, 1)"; while(lineY < SCREEN_HEIGHT){ g.beginPath() g.arc(lineX, lineY, 1, 1, Math.PI, false) g.stroke() lineX = lineX + Math.sin((lineY + speed) * Math.PI/240) lineY = lineY + speed } }; window.onload = function(){ draw() } </script> <style> body, #canvas { margin: 0; padding: 0; } </style> </head> <body> <canvas id="canvas" width="1440" height="1000"></canvas> </body> </html>
行いたいこと
この流線を、スクロールに合わせて上から下にアニメーション(フェードイン的な形)で取り入れたいのですが、keyframeだとうまくいきませんでした。
<style> #canvas { animation-name:slideTextY100; animation-duration:0.8s; animation-fill-mode:forwards; opacity: 0; } @keyframes slideTextY100 { from { transform: translateY(100%); opacity: 0; } to { transform: translateY(0); opacity: 1; } } </style>
どなたかご助力を頂けましたらと思います。