Javascript 定位弹出窗口

Javascript 定位弹出窗口,javascript,css,Javascript,Css,我有几个框(超过100个),将在屏幕上的不同位置动态创建。单击每个框后,我希望弹出一个包含详细信息的幻灯片 我希望它的位置在每个盒子附近滑动。我已经这样做了,但是,如果一些框靠近右侧的浏览器窗口端,弹出窗口的一半会隐藏在窗口中 我希望这些弹出窗口完全显示在窗口之前(就像excel中一样) 我发布的javascript代码 function centerPopup(comp_id, top, left) { $("#popupContact").css({ "pos

我有几个框(超过100个),将在屏幕上的不同位置动态创建。单击每个框后,我希望弹出一个包含详细信息的幻灯片

我希望它的位置在每个盒子附近滑动。我已经这样做了,但是,如果一些框靠近右侧的浏览器窗口端,弹出窗口的一半会隐藏在窗口中

我希望这些弹出窗口完全显示在窗口之前(就像excel中一样)

我发布的javascript代码

function centerPopup(comp_id, top, left) {    
    $("#popupContact").css({
        "position": "absolute",
        "top": top + 70,
        "left": left + 223
    });
}

如果它们出现在另一个元素下面,请尝试在弹出框的样式中添加更高的
z-index
。这将允许它以较低的
z索引出现在其他内容上


我需要更多的代码,或者一个示例(使用jsfiddle.net)来真正了解发生了什么

如果我正确理解了你的问题,那不是与其他框重叠,而是在屏幕边缘丢失了一半框?这听起来像是在使用窗口的边缘来设置长方体的位置,但没有考虑长方体本身的宽度。确保将当前框的宽度除以2,然后从最大窗口大小中减去该宽度。这将把你的盒子的右边缘放在窗口的右边(如果你想象一个盒子在屏幕的最右边渲染)。
希望我能正确地解释你的问题。

@ilight-我同意你的看法…:)Z-index用于显示对话框下方的弹出窗口…我也遇到过这个问题..当我设置Z-index时,我得到了结果。是的,你理解我的问题,谢谢你的回答!但是在创建这些动态框时,宽度在css中设置为“自动”。如何在javascript中获得宽度?因为您已经在使用jQuery,您可以使用$(window)获取窗口的属性,例如$(window)。width()这可能是一个更好的参考:对于window、screen、scrollTop和,等。希望这有帮助!我的每个框都是动态创建的;我得到的所有框的宽度都是相同的,如果我尝试div[id*='window22'],我得到的是22框的宽度。它将如何识别每次单击时的id无论您在哪里处理每个框的单击事件,您都可以将当前单击的框引用为$(this),然后将函数链接到其中,例如$(this).width()如果这不能完全帮助您,请发布更多代码选择,以便我们查看并更好地帮助您:)