2011-06-11 5 views
-1

私はRaphaeljs要素の 'nav'を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)を意味に違いありません –

関連する問題