SVG& JavaScript - 动画SVG文件对象不起作用?

时间:2016-04-26 17:27:50

标签: javascript html css svg

所以我有一个SVG文件。如果你去网站它应该动画它,但它没有。它在localhost中工作。有人可以帮帮我吗?我觉得有些帖子已经在这里发过,但是没有人回答,所以我会创造新的:)。

SVG文件:http://pastebin.com/raw/qn5gsTjV

Spinning的JavaScript:

var wheelSVG = $();
var spinner = $();
$("object").load(function() {
    wheelSVG = $("object").contents().find("svg");
    spinner = spinner.add(wheelSVG.find("#spin"));
    center = wheelSVG.find("#ui ellipse");
    centerText = wheelSVG.find("#number");
    clearInterval(beforeLoginSpinInterval);
    if (!loggedinn) {
        beforeLoginSpinInterval = setInterval(function() {
            currentRotation += 0.25;
            spinner.css("transform", 'rotate(' + currentRotation + 'deg)');
        }, 20);
    }
});
setTimeout(function() {
            wheelSVG = $("object").contents().find("svg");
            spinner = spinner.add(wheelSVG.find("#spin"));
            center = wheelSVG.find("#ui ellipse");
            centerText = wheelSVG.find("#number");
            clearInterval(beforeLoginSpinInterval);
            if (!loggedinn) {
                beforeLoginSpinInterval = setInterval(function() {
                    currentRotation += 0.25;
                    spinner.css("transform", 'rotate(' + currentRotation + 'deg)');
                }, 10);
            }

1 个答案:

答案 0 :(得分:0)

我通过修正一些错误来解决这个问题。

我必须定义这些未定义的变量:

var currentRotation = 0;
var beforeLoginSpinInterval;
var loggedinn;

你的setTimeout错过了一个右大括号,所以我解决了这个问题。

此行无效:

wheelSVG = $("object").contents().find("svg");

所以我把它概括为:

wheelSVG = $("svg");

enter image description here

<强>样本

SVG Spinning Wheel