2013-02-23 85 views
1

我正在使用jQuery mobile。在我的网页中,我创建了一个数据角色为标题的div。在这里面,有一个图像。
现在,我创建了另一个具有数据角色弹出窗口的div。当页面加载时,带弹出窗口的div按预期隐藏。
当用户点击图像时,预期会显示弹出窗口。
它的确如此。问题在于它以与标题重叠的方式显示,并紧挨着触发弹出窗口的图像下方显示。无法在jquery mobile中弹出位置

我通过它传递以下选项

$("#navBar").popup("open", { 
    x: 0, 
    y: 50, 
    transition: "reverse slide" 
}); 

这不会做的伎俩,呼吁图像选择弹出方法。相反,弹出窗口显示在触发它的图像的正下方。如果删除了X和Y选项,则弹出窗口显示在窗口的中心。

一些更多信息 - 这里是jquery的移动已准备的代码:

<div class="ui-popup-container reverse slide in ui-popup-active" id="navBar-popup" style="max-width: 1271px; top: 30px; left: 15px;" tabindex="0"> 

这可以看出,jQuery的移动已经加入定型顶部= 30像素和左= 15像素。
为了满足我的需求,我希望top = 40px和left = 0px。我想在不覆盖基本CSS的情况下做到这一点。我希望传递给popup()方法的X和Y选项能够做到这一点,但它们不起作用!
一个Image的问题有助于理解。

+1

您还需要发布您的HTML页面代码,这是不够的。 – Gajotres 2013-02-23 11:27:48

回答

1

默认情况下,弹出窗口会尝试在打开它的元素的顶部直接定位,如果您使用API​​并指定x和y,它会尝试在给定坐标处弹出中心。但为了避免弹出显示屏幕,jquery mobile还会在弹出对话框和屏幕边缘之间强制填充,默认情况下,这些填充边距为30垂直和15水平。所以你的小狗被定位的原因是由于这些容差。

要将弹出位置定位到所需的精确x和y位置,您需要将弹出窗口宽度的一半添加到所需的x,并将弹出窗口的一半高度添加到所需的y。

+0

无论我在打开的选项中以“y”参数发送的值如何,我都无法覆盖底部屏幕偏移量的jquery行为。 任何想法? – Roshdy 2014-12-29 08:53:49