Kal*_*lim 4 javascript css jquery css3 css-animations
我想从下面的图像点后点动画,但我的问题是图像的弯曲部分(图像的底部).

在开始时,应隐藏所有点,然后逐个动画到视图中逐个点.
我有以下代码:
<div id="dots1"></div>
#dots1 {
-moz-transition: height 1s linear;
-o-transition: height 1s linear;
-webkit-transition: height 1s linear;
transition: height 1s linear;
position: absolute;
left: 50%;
z-index: 1;
margin: 0 0 0 -1px;
width: 3px;
height: 0;
background: url(image/pic.png) 0 0 no-repeat;
}
Run Code Online (Sandbox Code Playgroud)
您可以使用两个SVG path元素实现此效果,如下面的代码段所示.创建了您需要的两条曲线形式的路径.一条路径(位于底部)具有笔划的点图案(黑色)和另一条位于顶部的复制路径.设置复制路径笔划,使得对于路径的一个全长,它是白色的,而对于另一个长度,它是透明的.
在复制路径上添加动画以为笔划的偏移设置动画.当偏移被动画化时,笔划的白色部分缓慢移出视野,透明部分开始进入视野.当白色部分开始偏离视野时,它下面的黑点开始显露出来.
这是一个有点复杂,在开始理解,但一旦你熟悉了 path,stroke-dasharray和stroke-dashoffset它的外观简单.
svg {
height: 400px;
}
path {
fill: none;
}
path.dot {
stroke: black;
stroke-dasharray: 0.1 4;
stroke-linecap: round;
}
path.top {
stroke: white;
stroke-width: 2;
stroke-dasharray: 250;
stroke-linecap: round;
animation: dash 15s linear forwards;
}
@keyframes dash {
from {
stroke-dashoffset: 0;
}
to {
stroke-dashoffset: -250;
}
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<svg viewBox='0 0 100 100'>
<path d='M1,1 1,45 C1,60 30,60 30,75 C30,90 1,90 1,100' class='dot' />
<path d='M1,1 1,45 C1,60 30,60 30,75 C30,90 1,90 1,100' class='top' />
</svg>Run Code Online (Sandbox Code Playgroud)