淘先锋百科网

首页 1 2 3 4 5 6 7

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等相关库,我们可以更加轻松地实现各种高级效果。希望大家通过学习本文,能够掌握这种实现动画效果的基本技巧,为自己的开发工作和个人项目实现更加生动有趣的效果。