【发布时间】:2014-09-12 15:09:03
【问题描述】:
我有以下.svg 图形:
我正在尝试对电子进行动画处理,使其沿着环的曲率移动(与页面成比例地滚动)直到某个点(如果它被翻转,可能与电子所在的点相同)此图像的假想 x 轴):
我对网络开发还很陌生,所以我不确定我将如何完成这项工作。我想我必须使用 CSS3 来制作实际的动画,并使用 jQuery 来捕捉滚动事件;但我真的不知道从哪里开始。
优化后的.svg代码供参考:
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" width="436.25" height="456.5" version="1.1">
<style>
.s0 {
fill:#1c1f26;
}
</style>
<g transform="translate(-225.94052,-31.584209)">
<path d="m259.84 71.78c-120.47 0-218.12 102.2-218.12 228.25 0 126.05 97.65 228.25 218.13 228.25 120.47 0 218.13-102.2 218.13-228.25 0-126.05-97.65-228.25-218.12-228.25zm0 4.78c117.95 0 213.56 100.05 213.56 223.47C473.41 423.45 377.8 523.5 259.84 523.5 141.89 523.5 46.25 423.45 46.25 300.03 46.25 176.61 141.89 76.56 259.84 76.56z" transform="translate(184.22177,-40.197041)" fill="#1c1f26" />
</g>
<g transform="translate(-81.915798,-31.584205)">
<g transform="matrix(-0.25881905,-0.96592583,0.96592583,-0.25881905,129.87282,611.33082)" fill="#1c1f26">
<path transform="matrix(1.0061861,-0.5809218,0.5809218,1.0061861,-135.78147,130.45415)" d="m279.91 300.03c0 11.09-8.99 20.07-20.07 20.07-11.09 0-20.07-8.99-20.07-20.07 0-11.09 8.99-20.07 20.07-20.07 11.09 0 20.07 8.99 20.07 20.07zM279.91 300.03 279.91 300.03" fill="#1c1f26" />
<path d="m279.91 300.03c0 11.09-8.99 20.07-20.07 20.07-11.09 0-20.07-8.99-20.07-20.07 0-11.09 8.99-20.07 20.07-20.07 11.09 0 20.07 8.99 20.07 20.07z" transform="matrix(1.0061861,-0.5809218,0.5809218,1.0061861,-110.83616,87.416816)" fill="#1c1f26" />
<path transform="matrix(1.0061861,-0.5809218,0.5809218,1.0061861,-160.5781,87.330591)" d="m279.91 300.03c0 11.09-8.99 20.07-20.07 20.07-11.09 0-20.07-8.99-20.07-20.07 0-11.09 8.99-20.07 20.07-20.07 11.09 0 20.07 8.99 20.07 20.07z" fill="#1c1f26" />
</g>
<path class="electron" d="m107.76 150.64c0 6.53-5.3 11.83-11.83 11.83-6.53 0-11.83-5.3-11.83-11.83 0-6.53 5.3-11.83 11.83-11.83 6.53 0 11.83 5.3 11.83 11.83z" transform="translate(120.35903,-99.340798)" fill="#1c1f26" />
</g>
</svg>
我在代码中用class="electron" 标记了电子。有什么建议吗?
【问题讨论】:
-
好吧,我可以帮你,但我不知道移动滚动。如果我错了纠正我!您想通过每个鼠标滚轮向上或向下更改两点之间的电子位置(翻转该图像的假想 x 轴)?
-
@MeTe-30 不完全是 180˚,您正在翻转大约等于
y = x的线。在穿过图像中间的 x 轴上翻转电子。 -
那是我的错误,我更正了。
-
只有我还是那个圈子不是一个圈子?这是一个鸡蛋!
标签: jquery css animation graphics svg