Dojo - 如何相对于另一个对象定位对象

时间:2011-07-11 16:47:53

标签: dojo

就像标题所说的那样。因为buildin小部件不适合,我想做什么,我需要自己创建tooltipdialog:

开始简单:

        dojo.query(".small-avatar").connect("onmouseenter", function () {
        var pos = dojo.position(this, true);
        dojo.query("#user-tooltip").style({ left: pos.x, top: pos.y, visibility:"visible" });
    });

我来这里。嗯,我猜问题是pos。我试图用文档挖掘,但老实说没有关于如何访问x和y位置的话,所以我认为它是用“。”。

更新

经过更多检查后,我发现问题在于它自我或风格。 由于某种原因,Dojo不会将坐标添加到目标节点“#user-tooltip”。它只是改变了可见度。

2 个答案:

答案 0 :(得分:0)

pos.xpos.y正确引用,因为dojo.position()返回了一个对象文字。 From the Dojo docs返回对象如下所示:

{ w: 300: h: 150, x: 700, y: 900, }

您可能需要在position: absolute上设置position: relative#user-tooltip

答案 1 :(得分:0)

我终于明白了:

 dojo.query(".small-avatar").connect("onmouseenter", function (e) {
        var pos = dojo.position(this, true);
        dojo.style(dojo.byId('user-tooltip'), { visibility: "visible", "left": pos.x+pos.w+'px', "top": pos.y+pos.h+'px' });
    });