【问题标题】:Fine tune position of draggable SVG shape without changing X?在不改变 X 的情况下微调可拖动 SVG 形状的位置?
【发布时间】:2012-06-26 23:25:49
【问题描述】:

我项目的当前状态可以是seen here on jsFiddle.
我想稍微按摩一下滑块的行为。
我正在寻找一种方法来微调它们,以便 X 值从每个滑块的中心注册。

如您所见,滑块很好地设置了输入值,但它们看起来/感觉有点不自然,因为 X 值是根据前缘而不是“中心质量”。
将滑块尽可能向左移动感觉就像它突然停止了一样。将它尽可能向右移动感觉就像超出了它的边界。

我相信我可以想象出一些非常讨厌的黑客,但我更喜欢更专业的方法:)
我首先想到的是 CSS(我有点希望稍微推动一下),但到目前为止还没有运气。
我现在的猜测是它会归结为一个 JS 解决方案。

有什么想法/想法吗?

【问题讨论】:

    标签: javascript css svg draggable


    【解决方案1】:

    您可以在不通过转换更改 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/

    附:这是一个非常不错的小部件,所以我忍不住改进了你的小提琴的交互,希望你不介意!

    【讨论】:

    • @Duopixel :不,完全不介意......非常感谢。那很完美。谢谢你:)
    • transform 属性中检索 x:y 位置的最佳方法是什么?有没有比解析它的整个值字符串更简单的方法?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 2014-01-18
    • 1970-01-01
    • 2017-07-30
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    相关资源
    最近更新 更多