2011-10-04 3 views
3

저는 Mootools World의 초보자입니다. 나는 그것을 배우고 있습니다. 나는 작은 차원의 차원에 머물러 있습니다. 여기 내 코드는 내가 jsFiddle에 삽입 된 것 :Mootools에서 div의 위치를 ​​얻는 방법은 무엇입니까?

FIddle sample code

코드 : HTML <div class="container"><div id="animate"></div></div>

Mootools의 코드 : var pos = $$('#animate').getPosition(); alert(pos.x);

내가 oject으로하는 getPosition 경고,하지만 난 얻을 갔다 수 like : myElement.getPosition().x -이 결과 = undefined :(.

Pls, 내 코드를 수정하십시오. anks!

답변

3

mootools 코드가 잘못되었습니다.

$$이 (가) this.document.getElements() (또는 Slick.search)이고 새로운 요소 컬렉션 (요소 프로토 타입이있는 요소의 배열)을 반환합니다.

$$("#animate")은 id가 animate 인 모든 요소의 콜렉션을 반환합니다 (하나만 있으면 좋겠다 :-p). 그 결과는 다음과 같습니다 : [object] - HTML 컬렉션. 그런 다음 getPosition()을 적용하면 [{x: nnnn, y: nnn}]의 배열이 반환됩니다.

어쨌든, 이것이 실패하는 이유입니다. 당신이 ID로 하나의 요소를 반환하는 의미 때

를 해결하는 방법

은 Mootools의 그것에 대해 매우 구체적이다 : document.id("animate") 또는 $("animate")의 그것의 바로 가기를 사용합니다. jquery와는 달리 #이 여기에 드롭됩니다 - 기본 js document.getElementById("animate")이하는 것과 동일합니다. 더 많은 작업을 수행합니다 (proto를 확장하고 uid를 할당하는 것과 같습니다).

확실하지 않은 경우 항상 console.log로 결과를 표시합니다. 어레이가 표시되었을 것입니다.

NB dom에없는 요소에서 위치 나 크기를 가져올 수 없습니다.

http://jsfiddle.net/dimitar/ZHkAb/2/

+0

감사합니다. 나는 너의 대답으로 끝났다. "다시 한번 고마워! – Rueta

관련 문제