jquery - 看到按钮有一个有趣的效果

标签 jquery animation svg smil

我想在将鼠标悬停在 svg 对象上时创建与此网站 http://animejs.com/ 完全相同的效果.

为此,我打开 inkscape 并绘制一条路径并保存悬停之前和之后的两个状态。

第一个状态:

<svg viewBox="0 0 210 297" xmlns="http://www.w3.org/2000/svg">

 <path d="m11 103c64-2.5 123-1.5 178 0v42c-61 3.5-120 0.43-178 0z"
 style="fill:none; stroke:#ff17ff;"/>
</svg>

第二状态

<svg viewBox="0 0 210 297" xmlns="http://www.w3.org/2000/svg">

 <path d="m11 103c62-7.8 121-6.3 178 0v42c-61 9.7-120 6.3-178 0z" 
       style="fill:none;stroke:#ff17ff"/>
</svg>

很可能需要在js/jquery中完成,告诉我如何实现这个效果?如何以如此灵活的方式更改路径?

最佳答案

要对按钮的轮廓进行动画处理,您需要对参数 d patch 进行动画处理

<animate attributeName="d" values="path1;path2" dur="2s" begin="btn.mouseover" /> 

.container {
width:25%;
height:25%;
}
<div class="container">
<svg   viewBox="0 0 210 297" xmlns="http://www.w3.org/2000/svg">

 <path id="btn"  d="m11 103c64-2.5 123-1.5 178 0v42c-61 3.5-120 0.43-178 0z"
 style="fill:none; stroke:#ff17ff;">
 <animate attributeName="d" values="m11 103c64-2.5 123-1.5 178 0v42c-61 3.5-120 0.43-178 0z;m11 103c62-7.8 121-6.3 178 0v42c-61 9.7-120 6.3-178 0z" dur="1s" begin="btn.mouseover" />
 </path>
 <text x="23" y="136" font-size="36" >mouseover</txt>
</svg>
</div>

关于jquery - 看到按钮有一个有趣的效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53455516/

相关文章:

ios - 如何使用自定义动画将一个 UI 元素替换为另一个 UI 元素?

css - 动画 SVG 填充 CSS ...语法问题?

jquery - 滚动时创建 "underline to circle"动画

javascript - 响应浏览器的最大 json 大小

javascript - 在跟踪鼠标位置的同时编写旋转嘎嘎声动画

jquery - 在 Firefox 上更改右键单击菜单

java - Android - 在密集任务期间更新 UI?

javascript - 在 d3 树布局中查找链接终点的坐标

javascript - Typeahead.js - 无法选择建议

javascript - 在 Angularjs 中格式化输入值