我是Mootools World的新手,我正在学习它。我陷入了一个小小的维度。这是我的代码,我插入jsFiddle:
代码:
HTML
<div class="container"><div id="animate"></div></div>
mootools代码:
var pos = $$('#animate').getPosition();
alert(pos.x);
我可以通过oject警告getPosition,但是我得到了:myElement.getPosition().x
- 这个结果=未定义:(。
请更正我的代码,谢谢!
答案 0 :(得分: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和assign uid)。
如果不确定,请始终在console.log中显示结果 - 它会向您显示数组。
NB 你无法获得不在dom中的元素的位置或大小。