【问题标题】:How can I initiate Raphael.js?如何启动 Raphael.js?
【发布时间】:2014-04-14 21:57:48
【问题描述】:
        <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 工作一个多小时,但它总是抱怨:

未捕获的类型错误:无法读取未定义 raphael.js:11 的属性“x”

【问题讨论】:

    标签: raphael


    【解决方案1】:

    使用 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>
    

    【讨论】:

    • 感谢您的帮助!我编辑了上面的代码,仍然遇到同样的错误。有什么想法吗?
    • 好的,在我实现了你所建议的both之后,它开始工作了;谢谢!
    • @Jackalope 酷!现在开始有趣的事情!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-06
      相关资源
      最近更新 更多