【发布时间】:2016-05-03 18:37:29
【问题描述】:
我正在尝试为以下html 元素设置动画,以实现类似于音量轮的功能。
<svg id="circle_svg" width="200" height="175">
<circle cx="100" cy="85" r="75" stroke="black" stroke-width="2" fill="lightgray"/>
<line id="line_alpha" x1="100" y1="85" x2="100" y2="160" style="stroke:rgb(0,0,255);stroke-width:2"/>
<circle id="dot_alpha" cx="100" cy="160" r="10" stroke="black" stroke-width="2" fill="red"/>
</svg>
基本思想是点击红点并四处移动鼠标应该会导致以下行为:
- 红点沿着圆圈移动(即使鼠标没有完全停留在它上面)。
- 圆上线的终点跟随红点。
- 页面中其他位置显示的数字会随着角位移量而增加或减少。
我在网上找到了一个demo,它允许通过将感兴趣的元素绑定到mousedown 和mouseup 事件并重写属性cx 和cy圈到鼠标的当前位置。
但是,当使用我的示例(甚至使用原始代码)测试 jsfiddle 上的代码时,某些东西无法正常工作。请您看一下并就可能出现的问题给我建议吗?
【问题讨论】:
-
@Dominik - 感谢您的建议,但由于我没有在问题中发布的原因,我不能简单地旋转 svg 标签。它必须遵循解释的原则。
标签: javascript jquery html jquery-svg