2014-04-14 31 views
1
 <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.js?

Uncaught TypeError: Cannot read property 'x' of undefined raphael.js:11

回答

3

使用拉斐尔是“持有人”元素已经被创建之前可能运行的脚本。

无论是在ready/onload事件创建拉斐尔或平凡安排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> 
+0

感谢您的帮助!我编辑了上面的代码,仍然收到相同的错误。有什么想法吗? – Jackalope

+0

好的,在我实现了*你提出的两个*后,它开始工作;谢谢! – Jackalope

+0

@Jackalope酷!现在到有趣的东西! – user2864740