2012-05-23 81 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