2011-06-11 2 views
-1

'nav'라는 Raphaeljs 요소의 set()을 만들었습니다. 나는 mousemove했다 요소의 attr()을 변경하려고하지만, 어떤 이유로 set() 다시 Array length 0 함께 제공 ...Raphael에서 요소 집합 (범위 외)의 attr() 변경

여기에 사용할 수있는 JSFiddle 있습니다 : http://jsfiddle.net/neuroflux/g8wHa/1/

그리고 이것은 조각이다 루프 및 함수 :

function init() { 
       sketch = Raphael(10, 10, 800, 600); 
       nav = sketch.set(); 
       runNavigation(); 
       document.addEventListener('mousemove',checkMouse); 
      }; 

      function runNavigation() { 
       for (var a = 0; a < 5; a++) { 
        navButton = sketch.rect(navX + (a*105), 10, 100, 100, 32, 32).attr({ 
         stroke:'#666', 
         fill:'#dedede' 
        }).click(function(){ 
         alert(0); 
        }); 
        nav.push = navButton; 
       } 
      }; 

      function checkMouse(e) { 
       mX = e.pageX; 
       mY = e.pageY; 

       /* This section is broken... */ 
       /* It says the Array's length is 0 */ 
       console.log('x: '+mX); 
       console.log('y: '+mY); 
       console.log('Element: '); 
       console.log(nav); 
       nav.attr({ 
        y:mX/2, 
        x:mY/2 
       }); 
       /*****************************/ 
      }; 

미리 감사드립니다!

답변

1

당신은 runNavigation

+0

최고에 nav.push(navButton)을 의미했습니다해야합니다, 감사합니다 –