2014-04-14 85 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