2012-05-23 84 views
0

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

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

我想让那些弹出窗口在窗口前完全显示(就像在Excel中一样)。

我的位置的JavaScript代码;

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

回答

0

如果我理解你的问题正确它不与其他框的重叠,但失去一半的箱在屏幕的边缘?这听起来像你使用窗口的边缘来设置盒子的位置,但是你没有考虑盒子本身的宽度。确保获得当前框的宽度除以2,并从最大窗口大小中减去该宽度。这会将窗口的右边缘放置在窗口的右侧(如果您想象在屏幕的最右侧呈现一个框)。

希望我正确解释你的问题。

+0

是的U理解我的问题,感谢您的回答!但宽度设置为自动在CSS中创建这些动态boxes.How可以在JavaScript中获得宽度? – jeni

+1

由于您已经使用jQuery,所以您可以使用$(window)(例如$(window).width())获得窗口的属性,这可能是一个更好的参考:http://api.jquery.com/width/窗口,屏幕,scrollTop等几个不同的全局对象。希望这有助于! –

+0

我的每个盒子都是动态创建的。如果我尝试使用以下方法获得盒子宽度:var b = $(“div [id * ='window']”)。如果我尝试使用div [id * ='window22'],我会得到22框的宽度。如何在每次点击时识别id – jeni

0

如果他们出现另一元件下方,尝试添加一个更高z-index,以弹出框的样式。这将允许它出现而不是其他更低的z-index

我需要更多的代码,或为例(使用jsfiddle.net)真正看到发生了什么事情

+0

@iight-我同意你的意见...... :) Z-index用来显示弹出窗口,它出现在对话框的下面......我也遇到了这个问题..当我设置z-index时,我得到了结果。 – Vicky