【问题标题】:Simple translate with snap.svg使用 snap.svg 进行简单翻译
【发布时间】:2014-02-15 17:18:12
【问题描述】:

我刚开始研究动画 svg 图形,它似乎非常复杂。

我陷入了一个看似简单的问题。我想将一个元素动画到一个新的地方,但我想在设定的时间内完成。

当我更改时,我尝试使用我当前的代码,我得到一个出现的矩阵属性,但我无法修改它,有谁知道如何在设定的时间量内从左到右为对象设置动画。

                 window.onload = function () {
                     var s = Snap(100, 100);
                     Snap.load("http://new.beresponsive.co.za/wp-content/themes/responsive/flatui/images/icons/responsive.svg", function (f) {

                         redSomething = f.select("#phone");

                         redSomething.hover(function () {
                             redSomething.animate({
                                 'transform': 'matrix(3.333, -0.000, 0.000, 3.333, 66.667, 66.667)'
                             }, 2000);
                         });

                         s.append(f);
                     });

                 };

【问题讨论】:

    标签: javascript svg snap.svg


    【解决方案1】:

    我认为它感觉很复杂,因为您使用的是矩阵,我不明白您为什么需要它。 “简单”的解决方案就是这样做

    redSomething.animate({ transform: 't100,0' }, 2000);
    

    在字符串 't' = translate 中,100,0 是向右移动 x 100。

    注意,如果您已经应用了转换,您可以尝试在当前转换的末尾添加字符串,但如果它已经旋转或您希望它向右移动,它会有点棘手。

    【讨论】:

    • 谢谢您,您知道如何反转翻译,以便当您将鼠标悬停时它会返回到原来的位置
    • 它只是动画到原始点,所以 resSomething.animate({ transform: 't0,0' },2000);如果在动画完成之前从悬停切换到悬停,您可能需要检查会发生什么,因为有时会出现一些繁琐的部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-14
    • 1970-01-01
    • 1970-01-01
    • 2021-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多