Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
Donate Now
Submitting...
Received
Donate Now
css
button { border: 0; padding: 0; color: #000; border-radius: 4px; outline: none; cursor: pointer; font-size: 16px; font-weight: bold; display: flex; align-items: center; overflow: hidden; background: transparent; box-shadow: 10px 10px rgba(0, 0, 0, 0.1); transition: 0.1s box-shadow ease-in; } button svg { background: #3f3e3c; width: 50px; height: 40px; padding: 10px; transition: 0.4s; } button div.wrapper { padding: 0 25px 0 10px; height: 60px; overflow: hidden; background: #f5f5f5; } button div.wrapper .slider { transform: translate3d(0, 0, 0); } button div.wrapper .slider span { color: #010101; display: block; line-height: 60px; } .dropped { box-shadow: 6px 6px rgba(0, 0, 0, 0.1); } a { font-weight: bold; color: #386981; position: absolute; font-size: 12px; top: 5px; left: 50%; transform: translateX(-50%); } html { width: 100%; height: 100%; } body { margin: 0; padding: 0; width: 100%; height: 100%; box-sizing: border-box; display: grid; place-items: center; background: #009dff; overflow: hidden; font-family: sans-serif; }
JavaScript
console.clear(); const hand = document.querySelector("#hand"), coin = document.querySelector("#coin"), btn = document.querySelector("#donation-btn"), heart = document.querySelector("#heart"), heartIcon = document.querySelector("#heart-icon"), heartProgress = document.querySelector("#heart-progress"), wallet = document.querySelector("#wallet"), slider = document.querySelector(".slider"), checkedBox = document.querySelector("#checked-box"); let isAnimationInAction = false; let tl = new TimelineMax(); let hoverState = true; btn.addEventListener("click", () => { if (isAnimationInAction) { return false; } isAnimationInAction = true; hoverOut(); hoverState = false; startAnimation(); heartFill(); }); let startAnimation = () => { tl.to(coin, 0.2, { scaleX: 0, transformOrigin: "center center" }, 0.4) .to(hand, 0.6, { x: -800 }) .to(heart, 0.6, { scale: 2, transformOrigin: "center 0" }, "<") .to(slider, 0.6, { y: -60 }, ">") .to(heartIcon, 0.4, { fill: "#ececec" }, 0.2); }; let heartFill = () => { tl.to(heartProgress, 2.5, { attr: { y: 59.2 }, transformOrigin: "center 0" }) .to(wallet, 1, { ease: Power1.easeOut, y: -400 }) .to( heart, 0.4, { ease: Power1.easeOut, scale: 0.5, y: -200, transformOrigin: "center center" }, "<" ) .to(slider, 0.6, { ease: Power1.easeOut, y: -120 }, "<") .to(heart, 0.8, { y: 0, scale: 0 }) .fromTo( checkedBox, 0.4, { scaleX: 0, scaleY: 0, transformOrigin: "center center" }, { scaleX: 1, scaleY: 1, transformOrigin: "center center", onComplete: () => { setTimeout(() => { received(); }, 2500); } } ); }; let received = () => { tl.to(hand, 0.8, { x: 0 }) .to(wallet, 0.4, { y: 0, transformOrigin: "center center" }, "<") .to(slider, 0.6, { ease: Power1.easeOut, y: -180 }, ">") .set(heart, { clearProps: "all" }) .set(heartProgress, { attr: { y: 298 } }) .set(slider, { y: 0 }) .to(coin, 0.2, { scaleX: 1, transformOrigin: "center center", onComplete: function () { isAnimationInAction = false; hoverState = true; tl.clear(); } }); }; function hoverIn() { btn.classList.add("dropped"); } function hoverOut() { btn.classList.remove("dropped"); } btn.addEventListener("mouseenter", function () { if (hoverState) { hoverIn(); } }); btn.addEventListener("mouseleave", hoverOut);
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title>按钮交互(GSAP)-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号