Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
click me
css
body{background-color: #1F1F1F;overflow: hidden} .flex { align-items: center; display: flex; justify-content: center; } .scene { background-color: #232323; height: 100vh; } .button { background: none; border: none; cursor: pointer; } .button:focus { outline: none; } .button__text { background: #3867d6; color: #fff; padding: 1em 3em; border-radius: 3em; font: 600 1rem/1 "Lato", sans-serif; white-space: nowrap; position: relative; z-index: 1; letter-spacing: 0.075em; border: 3px solid transparent; text-transform: uppercase; } .confetti { position: relative; } .confetti__image { position: absolute; width: 400px; height: 400px; top: 50%; left: 50%; transform: translate(-50%, -50%); }
JavaScript
(function(){ const svg = document.querySelector(".confetti__image svg"); const button = document.querySelector(".confetti__button"); const isAnimationOk = window.matchMedia('(prefers-reduced-motion: no-preference)').matches; const colors = [ "#4b7bec", // blue "#fc5c65", // red "#fed330", // yellow "#26de81", // green "#2bcbba", // sea "#fd9644", // orange "#a55eea" // violet ]; const positions = [-200, -175, -150, -125, -100, -75, -50, 50, 75, 100, 125, 150, 175, 200]; const shapes = [ "M -20 0 a 20 20 0 1 0 40 0 a 20 20 0 1 0 -40 0", // circle "M -20 0 a 20 20 0 1 0 40 0 Z", // semicircle "M -10 -10 H 20 V 20 H -10 Z", // square "M 0 -15 L 20 20 L -20 20 Z" // triangle ]; const shapeCount = 16; const buttonTl = gsap.timeline(); gsap.set(button, { transformOrigin: "50% 50%" }); buttonTl.to(button, { scale: 0.975, repeat: 1, yoyo: true, duration: 0.15, ease: "Back.easeIn.config(1.5)" }); buttonTl.pause(); button.addEventListener("click", function (e) { buttonTl.play(0); var elements = []; for (let i = 0; i < shapeCount; i++) { var newElement = document.createElementNS("http://www.w3.org/2000/svg", "path"); newElement.setAttribute("d", gsap.utils.random(shapes)); newElement.style.fill = gsap.utils.random(colors); svg.appendChild(newElement); elements.push(newElement); } function removeElements() { elements.forEach(shape => { svg.removeChild(shape); }); } gsap.set(elements, { transformOrigin: "50% 50%", scale: "random(0.4, 1)", }); gsap.to(elements, { onComplete: removeElements, keyframes: [{ rotation: "random(-360, 360)", x: `random([${positions.join(",")}])`, y: `random([${positions.join(",")}])`, ease: "expo.out", duration: 3, stagger: { amount: 0.15 } }, { opacity: 0, delay: -2.35, ease: "expo.out", duration: .5 }] }); }); }());
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title>按钮点击动画-jq22.com</title> <script src="https://www.jq22.com/jquery/jquery-1.10.2.js"></script> <style>
</style> </head> <body>
<script>
</script>
</body> </html>
2012-2021 jQuery插件库版权所有
jquery插件
|
jq22工具库
|
网页技术
|
广告合作
|
在线反馈
|
版权声明
沪ICP备13043785号-1
浙公网安备 33041102000314号