Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
css
body, html { height: 100%; margin: 0; } body { display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center; -webkit-box-pack: center; justify-content: center; } svg { width: 100%; max-height: 100%; visibility: hidden; }
JavaScript
TweenMax.set("svg", { visibility: "visible" }); const randomMinMax = (min, max) => { return min + Math.floor(Math.random() * (max - min)); }; const rippleSmallH = document.querySelectorAll(".horizontalRippleSmall"), rippleMedH = document.querySelectorAll(".horizontalRippleMedium"), rippleSmallV = document.querySelectorAll(".verticalRippleSmall"), rippleMedV = document.querySelectorAll(".verticalRippleMedium"), rippleBigV = document.querySelectorAll(".verticalRippleBig"); // Animate Pool const poolTl = new TimelineMax({}); poolTl .to(rippleSmallH, 6, { x: 800, ease: Linear.easeNone, repeat: -1 }, "one") .to(rippleMedH, 6, { x: 800, ease: Linear.easeNone, repeat: -1 }, "one") .to(rippleSmallV, 6, { y: -600, ease: Linear.easeNone, repeat: -1 }, "one") .to(rippleMedV, 6, { y: -600, ease: Linear.easeNone, repeat: -1 }, "one+=0.1") .to( rippleBigV, 6, { y: -600, ease: Linear.easeNone, repeat: -1 }, "one+=0.1" ); // Rotate tube const tube = document.querySelector("#tube"); TweenMax.to(tube, 2, { rotation: 5, ease: Sine.easeInOut, transformOrigin: "50% 50%", repeat: -1, yoyo: true, yoyoEase: Linear.easeNone }); const rotateTl = new TimelineMax({ repeat: -1, yoyo: true, yoyoEase: Sine.easeInOut }); rotateTl .to(tube, 2, { x: 4, y: 2, ease: Sine.easeInOut }, "rotate") .to(".tubeRipple", 2, { x: 4, y: 2, ease: Sine.easeInOut }, "rotate"); // Animating the tube shadow const shadowTube = document.querySelector("#tubeShadow"), innerShadow = document.querySelector("#tubeInnerShadow"); // Rotating the shadow const shadowTl = new TimelineMax({ repeat: -1 }); shadowTl .to( shadowTube, 12, { rotation: "+=360", transformOrigin: "50% 50%", ease: Linear.easeNone }, "rotate" ) .to( innerShadow, 12, { rotation: "+=360", transformOrigin: "50% 50%", ease: Linear.easeNone }, "rotate" ); // Create tube ripples const ripples = document.querySelectorAll(".tubeRipple"), rippleTl = new TimelineMax({ repeat: -1 }); rippleTl .staggerTo( ripples, 3, { scale: 1.3, transformOrigin: "center center", ease: Sine.easeInOut }, 1, "in" ) .staggerTo(ripples, 1, { attr: { "stroke-width": "0.5" } }, 0.5, "in+=1.5") .staggerTo( ripples, 1, { opacity: 0, transformOrigin: "center center" }, 0.5, "in+=2.35" ); // Water Reflection const reflectionGroup = document.querySelector("#waterReflection"), reflectOpacity = new TimelineMax({ repeat: -1, repeatDelay: randomMinMax(1, 1.5) }); reflectOpacity .fromTo( reflectionGroup, 1, { opacity: 0.13, transformOrigin: "center center" }, { opacity: 0.3, ease: Sine.easeIn }, "in" ) .to(reflectionGroup, 1, { opacity: 0.13, ease: Sine.easeOut }); const waterReflectionTl = new TimelineMax({ repeat: -1, yoyo: true, yoyoEase: Linear.easeNone }), waterReflectionFilter = document.querySelector("#waterReflect feTurbulence"); waterReflectionTl.fromTo( waterReflectionFilter, 12, { attr: { baseFrequency: "0.005 0.015" } }, { attr: { baseFrequency: "0.03 0.045" }, ease: Linear.easeNone }, "in" ); TweenMax.set("#strings", { scale: 0.9, transformOrigin: "50% 50%" }); const maskTl = new TimelineMax({ repeat: -1, yoyo: true, yoyoEase: Linear.easeNone }); const stringDistort = document.querySelector("#stringFilter feTurbulence"); TweenMax.to("#mask", 2, { x: 3, y: 3, rotation: 10, transformOrigin: "100% 75%", ease: Linear.easeNone, yoyo: true, yoyoEase: Linear.easeNone, repeat: -1 }); maskTl .to( stringDistort, 3, { attr: { baseFrequency: "0.015 0.022" }, ease: Linear.easeNone }, "distort" ) .to( "#strings", 1, { x: -1, y: 0.5, rotation: 0.5, ease: Linear.easeNone }, "distort" ) .to( "#strings", 1, { x: -1.75, rotation: -0.25, ease: Linear.easeNone }, "distort+=1" ) .to( "#strings", 1, { rotation: 0, x: -2, ease: Linear.easeNone }, "distort+=2" );
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title>svg泳池水波-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号