我是 Mootools World 的新手,我正在学习它。我被困在一个小维度的案例中。这是我的代码,我被插入到 jsFiddle 中:
代码:
HTML
<div class="container"><div id="animate"></div></div>
mootools 代码:
var pos = $$('#animate').getPosition();
alert(pos.x);
我可以通过对象提醒 getPosition,但是我得到了这样的信息:myElement.getPosition().x
- 这个结果 = undefined :(.
请更正我的代码,谢谢!
最佳答案
你的 mootools 代码是错误的。
$$ 表示,this.document.getElements()
(或现在的 Slick.search
),它返回一个新的元素集合(一个包含元素的元素数组原型(prototype))。
$$("#animate")
表示,返回一个包含所有 id 为 animate 的元素的集合(我希望你只有一个 :-p)。结果是:[object]
- 一个 HTML 集合。然后,您在其上应用 getPosition()
,它也将返回 [{x: nnnn, y: nnn}]
的数组。
无论如何,这就是它失败的原因。
如何修复
当你想通过 id 返回单个元素时,mootools 对此非常具体:使用 document.id("animate")
或者它的快捷方式 $("animate ")
。请注意,与 jquery 不同,# 在这里被删除 - 它与 native js document.getElementById("animate")
所做的相同,除了它做了更多(例如扩展原型(prototype)和分配 uid)。
当不确定时,总是 console.log 结果 - 它会向您显示数组。
NB 您无法获取不在 dom 中的元素的位置或大小,这是没有说明的。
关于javascript - 如何在 Mootools 中获取 div 的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7644279/