在屏幕视图上触发 svg 线动画并将其重置为屏幕视图
Trigger svg line animation on screen view and reset it off screen view
here's a jsfiddle :
https://jsfiddle.net/20zhrw1o/
正如标题所说,我想在屏幕视图中触发线条动画并重置它,这样如果我滚动回到它动画再次开始,我不擅长 js 所以感谢任何形式求助!
也可以使用 scrollreveal 插件来实现吗?
CSS动画很难通过JavaScript直接控制(https://css-tricks.com/restart-css-animation/),所以最好在[=中添加和删除CSS类 21=] 动画.
path {
stroke: #000;
stroke-width:2px;
stroke-dasharray: 1000;
stroke-dashoffset: 1000;
}
svg.in-view path {
animation: dash 20s linear forwards;
}
在每个 scroll
事件中,查看 SVG 是否在屏幕上:
window.addEventListener('scroll', function(e) {
svg.classList.toggle('in-view', isElementInViewport(svg));
});
here's a jsfiddle :
https://jsfiddle.net/20zhrw1o/
正如标题所说,我想在屏幕视图中触发线条动画并重置它,这样如果我滚动回到它动画再次开始,我不擅长 js 所以感谢任何形式求助!
也可以使用 scrollreveal 插件来实现吗?
CSS动画很难通过JavaScript直接控制(https://css-tricks.com/restart-css-animation/),所以最好在[=中添加和删除CSS类 21=] 动画.
path {
stroke: #000;
stroke-width:2px;
stroke-dasharray: 1000;
stroke-dashoffset: 1000;
}
svg.in-view path {
animation: dash 20s linear forwards;
}
在每个 scroll
事件中,查看 SVG 是否在屏幕上:
window.addEventListener('scroll', function(e) {
svg.classList.toggle('in-view', isElementInViewport(svg));
});