Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
css
body { background-color: #222; overflow: hidden; text-align:center; display: flex; align-items: center; justify-content: center; } body, html { height: 100%; width: 100%; margin: 0; padding: 0; } svg { width: 100%; height: 100%; visibility: hidden; } .icon { cursor: pointer; }
JavaScript
let select = s => document.querySelector(s), selectAll = s => document.querySelectorAll(s), mainSVG = select('#mainSVG'), bg = select('#bg'), allIconButtons = gsap.utils.toArray('.icon'), allRects = gsap.utils.toArray('.icon rect'), allIcons = gsap.utils.toArray('.icon path'), colorArr = [ {bg: '#FFCC02', accent:'#F6BB02'}, {bg: '#22CC88', accent:'#21B77A'}, {bg: '#0099FF', accent:'#018AE6'}, {bg: '#FF3366', accent:'#C0284D'}, {bg: '#8849D4', accent:'#6F2DBD'}, ] gsap.set('svg', { visibility: 'visible' }) gsap.set(allIcons, { transformOrigin: '50% 50%' }) gsap.from(allIconButtons, { delay: 0.5, duration: 0.75, transformOrigin: '50% 50%', scale: 0, stagger: { each: 0.04 }, ease: 'elastic(0.4, 0.4)' }) function clickIcon (e) { let tl = gsap.timeline({ defaults: { ease: 'elastic(0.4, 0.4)' } }); let iconId = Number(e.currentTarget.getAttribute('data-iconId')); //you didn't click an icon if(iconId === -1) { tl.to('body', { backgroundColor:'#b3b3b3' }) .to(allIcons, { fill:'#b3b3b3', scale: 1, x: 0 }, 0) .to(allIconButtons, { x: 0 }, 0) .to(allRects, { attr: { width: 50 }, fill: '#FFF', x: 0 }, 0) .to('#bg', { fill: '#b3b3b3' }, 0) return } let rect = e.currentTarget.querySelector('rect'); let icon = e.currentTarget.querySelector('path'); tl.to(allIconButtons, { x: (i) => { return (i <= iconId) ? 0 : 50 } }) .to(allRects, { attr: { width: (i) => { return (i === iconId) ? 100 : 50 } }, fill: (i) => { return (i === iconId) ? colorArr[iconId].accent : '#FFF' } }, 0) .to(allIcons, { x: (i) => { return (i === iconId) ? 25 : 0 }, fill: (i) => { return (i === iconId) ? '#FFF' : '#b3b3b3' }, scale: (i) => { return (i === iconId) ? 1.35 : 1 } }, 0) .to('body', { backgroundColor: colorArr[iconId].bg }, 0) .to('#bg', { fill: colorArr[iconId].bg }, 0) } allIconButtons.forEach((target, i) => { target.setAttribute('data-iconId', i); target.addEventListener('click', clickIcon) }) bg.setAttribute('data-iconId', -1); bg.addEventListener('click',clickIcon)
粒子
时间
文字
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号