如何启动Raphael.js?

3
        <script type="text/javascript" src="raphael.js"></script>
    <script>
        var paper = new Raphael("holder", 320, 200);
        function testPaper(){
            var width10 = paper.width * 0.1;
            var height10 = paper.height * 0.1;
            var width80 = paper.width * 0.8;
            var height80 = paper.height * 0.8
            var c = paper.rect( width10, height10, width80, height80, Math.min( width10, height10 ) );
    }
    </script>
</head>
<body onload = "testPaper()">
    <div id="holder"></div>
</body>

上面的代码有什么问题吗?我已经尝试了一个多小时让Raphael运行,但它一直在抱怨:
未捕获的类型错误:不能读取未定义的属性'x' raphael.js:11
2个回答

6
使用Raphael的脚本可能在“holder”元素创建之前运行。
要么在ready/onload事件中创建Raphael,要么像这样轻松地排列HTML:
<body>
    <div id="holder"></div> <!-- also use correct closing tag -->
    <script src="raphael.js"></script>
    <script>
        var paper = new Raphael("holder", 320, 200);
        // ..
    </script>
</body>

谢谢你的帮助!我已经编辑了上面的代码,但仍然遇到相同的错误。有什么想法吗? - Jack
好的,在我实现了你建议的两个东西之后,它开始工作了;谢谢! - Jack
@Jackalope 很酷!现在进入有趣的部分吧! - user2864740

1

我在Angular中使用draw2d库时遇到了同样的问题。我无法初始化画布。值得注意的是,元素必须与初始化的画布名称相同。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接