gsap+svg实现可配置参数的添加购物车按钮动画效果代码
代码语言:html
所属分类:动画
代码描述:gsap+svg实现可配置参数的添加购物车按钮动画效果代码
代码标签: gsap svg 配置 参数 添加 购物车 按钮 动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
@import url('https://unpkg.com/normalize.css') layer(normalize);
@layer normalize, base, prototype, testing, motion;
@layer motion {
:root {
--text-speed: 0.26;
--base-delay: calc(var(--text-speed) * 0.25);
--tick-speed: 0.12;
--ring-speed: 0.2;
--check-speed: 0.1;
--burst-speed: 0.32;
--step-delay: 4;
}
.playground {
--base-delay: 0;
}
.playground[data-play='true'],
[data-adding="true"] {
.check {
transition-property: opacity, scale, filter;
transition-duration: calc(calc(var(--check-speed) * 1s) * var(--speed));
transition-delay: calc((var(--base-delay) * 1s) * var(--speed));
transition-timing-function: ease-in-out;
opacity: 1;
scale: 1;
filter: blur(0);
}
.tick {
scale: 1.5;
transition-property: scale;
transition-duration: calc((calc(var(--tick-speed) * 1s)) * var(--speed));
transition-delay: calc(((var(--base-delay) + (var(--check-speed) * (var(--step-delay) * 1.1))) * 1s) * var(--speed));
transition-timing-function: ease-out;
}
.ring {
transition-property: opacity, scale, filter;
transition-duration: calc((calc(var(--ring-speed) * 1s)) * var(--speed));
transition-delay: calc(((var(--base-delay) + (var(--check-speed) * var(--step-delay))) * 1s) * var(--speed));
transition-timing-function: ease-in-out;
opacity: 0;
scale: 1;
filter: blur(1px);
}
:is(.wiggle, .line) {
transition-property: stroke-dashoffset;
transition-duration: calc((calc(var(--burst-speed) * 1s)) * var(--speed));
transition-delay: calc(((var(--base-delay) + (var(--check-speed) * var(--step-delay))) * 1s) * var(--speed));
transition-timing-function: ease-out;
stroke-dashoffset: 1.5;
}
}
.add-to-cart-text {
clip-path: circle(100% at 50% 50%);
transition-property: clip-path, opacity, filter, translate;
transition-duration: calc((var(--text-speed) * 0.6s) * var(--speed)), calc((var(--text-speed) * 1s) * var(--speed));
transition-timing-function: ease-out;
}
[data-adding='true'] .add-to-cart-text {
clip-path: circle(0% at 50% 50%);
filter: blur(2px);
opacity: 0;
translate: 0 4px;
}
[data-timing='random'] :is(.playground[data-play='true'],[data-adding="true"]) .burst :is(.wiggle, .line) {
transition-delay: calc(((var(--base-delay) + (var(--check-speed) * var(--step-delay)) + (var(--d))) * 1s) * var(--speed));
}
[data-timing='sequential'] :is(.playground[data-play='true'],[data-adding="true"]) .burst :is(.wiggle, .line) {
transition-delay: calc(((var(--base-delay) + (var(--check-speed) * var(--step-delay)) + (var(--in.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0