Javascript曲线行走是前端开发中的一个重要的技术,主要用于实现动画效果。其通过设置起点、重点、途经点等参数,让元素沿着预定路径进行运动,并搭配动态变化的CSS样式,实现各种各样的炫酷效果。下面将为大家介绍一些实现曲线行走的基本方法。
一、贝塞尔曲线
let duration = 1000; // 动画时长 let points = [ {x: 0, y: 0}, {x: 500, y: 500}, {x: 1000, y: 0} ]; // 路径上的点 let animate = (startTime) =>{ let now = Date.now(); let elapsed = now - startTime; let t = elapsed / duration; if (t >1) { t = 1; } let a = points[0]; let b = points[1]; let c = points[2]; let x = (1 - t) * (1 - t) * a.x + 2 * t * (1 - t) * b.x + t * t * c.x; let y = (1 - t) * (1 - t) * a.y + 2 * t * (1 - t) * b.y + t * t * c.y; element.style.left = x + 'px'; element.style.top = y + 'px'; if (t< 1) { window.requestAnimationFrame(() =>animate(now)); } } window.requestAnimationFrame(() =>animate(Date.now()));
二、Sin函数曲线
let duration = 1000; // 动画时长 let amplitude = 50; // 振幅 let frequency = 0.1; // 频率 let animate = (startTime) =>{ let now = Date.now(); let elapsed = now - startTime; let t = elapsed / duration; if (t >1) { t = 1; } let y = amplitude * Math.sin(2 * Math.PI * frequency * elapsed / 1000); element.style.left = t * 1000 + 'px'; element.style.top = 500 + y + 'px'; if (t< 1) { window.requestAnimationFrame(() =>animate(now)); } } window.requestAnimationFrame(() =>animate(Date.now()));
以上就是Javascript曲线行走的基本实现方法。通过引入Bezier.js等相关库,我们可以更加轻松地实现各种高级效果。希望大家通过学习本文,能够掌握这种实现动画效果的基本技巧,为自己的开发工作和个人项目实现更加生动有趣的效果。