js实现canvas多种动画方式冒泡粒子动画效果代码
代码语言:html
所属分类:粒子
代码描述:js实现canvas多种动画方式冒泡粒子动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> * { margin: 0; padding: 0; } html, body { width: 100%; height: 100%; } body { font-family: sans-serif; position: relative; background: #000; } h1 { font-size: 3.2rem; color: #666; position: absolute; top: 10%; left: 50%; opacity: 0.3; transform: translate(-50%, -50%); } .outer { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .inner { position: relative; } .inner::before, .inner::after { pointer-events: none; z-index: 1; position: absolute; content: ''; display: block; height: 2px; width: 8px; top: 50%; background: #fff; } .inner::before { right: 15.26px; transform: translateY(-50%) rotate(-45deg); } .inner::after { right: 20px; transform: translateY(-50%) rotate(45deg); } input[type="range"] { width: 100%; margin-top: 16px; } select { font-size: 16px; color: #fff; background: rgba(0,0,0,0.5); box-shadow: 0 8px 8px 0 rgba(200,200,200,0.2); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); border-radius: 8px; border: 1px solid rgba(255,255,255,0.18); -webkit-appearance: none; -moz-appearance: none; appearance: none; padding: 16px 32px; } @media (min-width: 500px) { h1 { font-size: 10rem; } } </style> </head> <body> <h1>Transition</h1> <div class="outer"> <div class="inner"> <select> <option value="Random">Random</option> <option value="EaseIn">EaseIn</option> <option value="EaseInOut">EaseInOut</option> <option value="Elastic">Elastic</option> <option value="Bounce">Bounce</option> <option value="Linear">Linear</option> </select> </div> <input id="range" type="range" min="0" max="10" value="3"/> </div> <script > /** * Utilities static function */ class Utils { /** * Get random number * @param {number} min - min number * @param {number} max - max number */ static getRandomNumber(min, max) { return Math.floor(Math.random() * (max - min + 1) + min); } /** * Get rgb color if not params return random * @param {number} r - red * @param {number} g - green * @param {number} b - blue */ static getRGBColor(r, g, b) { const rr = r || this.getRandomNumber(0, 255); const rg = g || this.getRandomNumber(0, 255); const rb = b || this.getRandomNumber(0, 255); return 'rgb(' + rr + ', ' + rg + ', ' + rb + ')'; } /** * Get hsl color if not params return random * @param {number} hue - from 0 to 360 * @param {number} saturation - from 0 to 100 * @param {number} lightness - from 0 to 100 */ static getHSLColor(hue, saturation, lightness) { const rHue = hue || this.getRandomNumber(0, 360); const rSaturation = saturation || this.getRandomNumber(0, 100); const rLightness = lightness || this.getRandomNumber(0, 100); return &.........完整代码请登录后点击上方下载按钮下载查看
网友评论0