js+svg实现泡泡钟点击手动排序效果代码

代码语言:html

所属分类:其他

代码描述:js+svg实现泡泡钟点击手动排序效果代码

代码标签: js svg 泡泡 点击 手动 排序

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
 
<meta charset="UTF-8">

 
 
<link rel='stylesheet' href='https://fonts.googleapis.com/css2?family=Noto+Sans:wght@600&amp;display=swap'>
 
<style>
body
{
 
margin: 0;
 
height: 100vh;
 
display: flex;
 
flex-direction: column;
 
background: #444;
}
svg
.passive * {
 
transition: none !important;
}
marker
{
 
fill: #a05cc6;
 
overflow: visible;
}
#swap {
 
fill: none;
 
stroke: #a05cc6;
 
stroke-width: 2;
 
marker-end:url(#arrow);
}
#swap circle {
 
opacity: 0;
}
#swapper use {
 
transform-origin: 0px 0px;
 
opacity: 0;
 
pointer-events: none;
}
#swapper use[data-low] {
 
opacity: 0.7;
 
pointer-events: all;
 
cursor: pointer;
}
#swapper use[data-low]:hover {
 
opacity: 1;
}
#outer {
 
filter: url(#blob);
}
#outer>g {
 
transform-origin: 0px 0px;
 
transition: transform 0.5s ease-in-out;
}
#outer circle {
 
r: 9px;
 
cy: -50px;
 
fill: rgb(0 0 0 / 0);
 
stroke: #8f22cc;
 
stroke-width: 2;
}
#outer path {
 
d: path('M0-60C3.3-60 6.1-58.4 8-56 9.6-54.1 10.2-51.5 10-49 9.8-47.2 9.1-45.4 8-44 6.1-41.6 3.3-40 0-40-3.3-40-6.1-41.6-8-44-9.1-45.4-9.8-47.2-10-49-10.2-51.5-9.6-54.1-8-56-6.1-58.4-3.3-60 0-60z');
 
fill: #d4941c;
 
transition: d 0.3s 0.1s ease-in-out;
}
#outer .before path { d: path('M0-60C3.3-60 6.1-58.4 8-56 9.6-54.1 14.2-50.6 13.5-48.2 13-46.5 9.1-45.4 8-44 6.1-41.6 3.3-40 0-40-3.3-40-6.1-41.6-8-44-9.1-45.4-9.8-47.2-10-49-10.2-51.5-9.6-54.1-8-56-6.1-58.4-3.3-60 0-60z') }
#outer .after path { d: path('M0-60C3.3-60 6.1-58.4 8-56 9.6-54.1 10.2-51.5 10-49 9.8-47.2 9.1-45.4 8-44 6.1-41.6 3.3-40 0-40-3.3-40-6.1-41.6-8-44-9.1-45.4-13-46.5-13.5-48.2-14.2-50.6-9.6-54.1-8-56-6.1-58.4-3.3-60 0-60z') }
#outer .before.after path { d: path('M0-60C3.3-60 6.1-58.4 8-56 9.6-54.1 14.2-50.6 13.5-48.2 13-46.5 9.1-45.4 8-44 6.1-41.6 3.3-40 0-40-3.3-40-6.1-41.6-8-44-9.1-45.4-13-46.5-13.5-48.2-14.2-50.6-9.6-54.1-8-56-6.1-58.4-3.3-60 0-60z') }
#outer text {
 
fill: white;
 
font-family: 'Noto Sans';
 
font-size: 9.5px;
 
text-anchor: middle;
 
transform-origin: 0px -50px;
 
transition: transform 0.5s ease-in-out;
}
svg
#clock {
 
stroke: #fff;
 
stroke-width: 2;
 
stroke-linecap: round;
 
opacity: 0;
 
transition: opacity 1s ease-in;
}
svg
.finished #clock {
 
opacity: 1;
}
@keyframes round {
  from
{transform: rotate(0deg)}
  to
{transform: rotate(360deg)}
}
</style>


 
 
</head>

<body translate="no">
 
<svg viewBox="-80 -80 160 160" xmlns="http://www.w3.org/2000/svg">
 
<filter id="blob" style="color-interpolation-filters:sRGB">
   
<feGaussianBlur stdDeviation="4"/>
   
<feComponentTransfer result="cutoff">
     
<feFuncR tableValues="0.83" type="discrete"/>
     
<feFuncG tableValues="0.58" type="discrete"/>
     
<feFuncB tableValues="0.11" type="discrete"/>
     
<feFuncA intercept="-9" slope="19" type="linear"/>
   
</feComponentTransfer>
   
<feComposite operator="over" in="SourceGraphic" in2="cutoff"/>
 
</filter>
 
<marker id="arrow" markerUnits="strokeWidth" orient="auto">
    <path d="M -1,0 L -2,1.6 L 1,0 L-.........完整代码请登录后点击上方下载按钮下载查看

网友评论0