Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 文字动画“;“跳跃”;在svg中_Jquery_Svg_Jquery Svg - Fatal编程技术网

Jquery 文字动画“;“跳跃”;在svg中

Jquery 文字动画“;“跳跃”;在svg中,jquery,svg,jquery-svg,Jquery,Svg,Jquery Svg,我在设置文本动画方面有问题。我正在尝试将文本从左向右移动。让文本在中间有一个小的“暂停”,然后继续动画的其余部分。 然而,我的文本在每次动画前后都会“跳跃”,它会向上或向下移动两个像素,然后再次移动到我定义的正确高度:text2.animate(3000,,,3200)。move(1299220)-这只是一个例子 但是开始位置和结束位置都在同一高度。所以我不明白为什么它会“跳跃”。我希望你能帮我解决这个问题,因为它变得很烦人 var draw = SVG('animation').siz

我在设置文本动画方面有问题。我正在尝试将文本从左向右移动。让文本在中间有一个小的“暂停”,然后继续动画的其余部分。

然而,我的文本在每次动画前后都会“跳跃”,它会向上或向下移动两个像素,然后再次移动到我定义的正确高度:text2.animate(3000,,,3200)。move(1299220)-这只是一个例子

但是开始位置和结束位置都在同一高度。所以我不明白为什么它会“跳跃”。我希望你能帮我解决这个问题,因为它变得很烦人

    var draw = SVG('animation').size(1299, 554)
    var nested = draw.nested()
    var line = draw.line(0, 260, 1299, 260).stroke({ width: 1 })

    var text2 = draw.text("The (jumping) bug")
    text2.move(0,220)

    text2.animate(7000, '', 1000).move(650, 220)
    .after(function moveTextR(){
    text2.animate(3000, '', 3200).move(1299, 220).after(function(){
        text2.animate(1, '', 2300).move(0, 220).after(function(){
            text2.clear()
            var tspan = text2.plain("something pink in the middle")
            text2.move(0,220)
            text2.animate(7000, '', 1000).move(650, 220).after(moveTextR)
        })
    })
})  
text2.font({
      family:   'Helvetica'
    , size:     32
    , anchor:   'start'
    , leading:  '1.5'
    , fill: '#000'
})
我还做了一个JSFIDLE:

正如您所看到的,虽然在JSFIDLE中,它只在开始时跳跃,在safari、chrome和firefox中,它在每次开始新动画时都跳跃

希望很快得到一个有用的回复


提前谢谢

svg.js 0.x版本似乎有一个bug,我修改了jsfiddle以使用更新的版本,“跳转”没有发生

由于JSFIDLE中的外部资源链接,我添加了一个带有jQuery的onload函数(未找到SVG对象),但除此之外,您的代码工作得非常好

$(function() {

    var draw = SVG('animation').size(1299, 554)

(...)

    var text2 = draw.text('The (jumping) bug');
    text2.move(0,220)

    text2.animate(7000, '', 1000).move(650, 220).after(...)
})

我使用的版本是:1.0.rc3,这是我在CDN上找到的最新版本,但目前用于生产的版本是。

感谢您这么快就帮了我的忙。我使用的是旧版本的svg.js,不知道会有一些更新,而且“bug”已经修复。还是谢谢你指出这一点。