我的项目的当前状态可以在jsFiddle上看到。
我想稍微按摩一下滑块的行为。
我正在寻找一种方法来轻推它们,以便 X 值从每个滑块的中心注册。
如您所见,滑块很好地设置了输入的值,但它们看起来/感觉有点不自然,因为 X 值是根据前缘而不是"中心质量"的。
将滑块尽可能向左移动感觉就像它停止了。尽可能向右移动它感觉就像它超越了它的边界。
我相信我可以想象一些非常讨厌的黑客,但我更喜欢更专业的:)
我的想法首先是CSS(我有点希望只是稍微推动一下),但到目前为止没有运气。
我现在的猜测是,它将归结为JS解决方案。
有什么想法/想法吗?
您可以通过变换调整位置,而无需更改 x 值。您所需要的只是添加transform
属性...
<rect id="rect_slider_knob"
class="slidable"
width="4%"
height="24%"
y="38%"
rx="2%"
ry="3%"
stroke="#666"
transform="translate(-6, 0)"
/>
您可以在此处查看演示:http://jsfiddle.net/mzmRN/
附言这是一个相当不错的小部件,所以我忍不住改善你的小提琴的交互,希望你不要介意!