2013-07-30 67 views
0

我的aspx頁面上有一個iframe。在這個iframe中,我調用另一個包含覆蓋和彈出div的aspx頁面。點擊按鈕(在iframe中)我顯示覆蓋和彈出。我已經正確設置了絕對位置和z-index,但問題在於彈出窗口和疊加層僅覆蓋了iframe區域而不是父頁面。iframe中的彈出式覆蓋圖未顯示在頁面頂部

回答

1

如果你不能把彈出的HTML父頁面,我建議你做彈出DIV的克隆和覆蓋DIV然後把這段父頁面的身體。 確保複製事件和數據(如果有)。

0

我會給你這種行爲的可能解釋。

  1. 你可能已經定義了在i幀內調用的頁面上的彈出和覆蓋。
  2. 您可能沒有給出覆蓋寬度:100%,高度:100%;
  3. 您應該最好使用position:fixed作爲覆蓋層,否則如果您的頁面向下滾動覆蓋層將會出現view-port。

我們能看到你的這個頁面嗎?

+0

是的我已經定義了在i頁框內的頁面彈出和覆蓋,雖然我已經給出了覆蓋寬度和高度100%,它在iframe上正常工作。它覆蓋了整個iframe區域。但我想要顯示此覆蓋並在iframe之外彈出(在主頁上) –

0

如果定義包含的iframe(主頁)頁面上的彈出式窗口,疊加,而應顯示爲你想讓它

0

不能從裏面的iframe頁面目標父頁。其不可能..彈出將採取iframe作爲其父頁...如果你想要彈出覆蓋屏幕上,那麼你可以做到這一點的唯一方法是通過定義頁面中定義的所有控件,你在iframe中調用,在一個在父頁面本身div。

說:你有a.aspx頁面。裏面有一個id = frame的iframe。現在iframe的src將它設置爲b.aspx。因此,無論您在b.aspx中有什麼控件,您都可以在a.aspx中定義一個div,並將b.aspx的所有控件放入該div中。所以,現在您可以將a.aspx作爲彈出對象。

我不知道你是否有用於定義一個iframe並調用另一頁具體原因。但是,如果沒有特殊原因,那麼你可以用這個方法去.. :)

讓我知道如果您有任何疑問,

+0

我有很強的理由這樣做,因爲父頁面是cms頁面,並且此cms頁面也用於其他url(s)(頁面id)爲什麼我使用了iframe。無論如何感謝您的建議 –

+0

不客氣..但我相信你不能從一個頁面內的iframe中的主頁面.. –

+0

我可以建議你多一件事情..你可以設置一個div只爲您的頁面想要彈出..當這個div是可見的理由設置iframe不可見,反之亦然..會很好嗎? –

0

爲您找到了解決方案。

  1. 把你的父頁面,即覆蓋該containes的iframe頁面上。

    function showHide(){ 
    
        parentWin = window.parent; 
    
        var overlay = parentWin.document.getElementById('mask'); 
    
        if(overlay.style.display == 'none'){ 
         overlay.style.display = 'block'; 
        } 
    
    } 
    
  2. 使用上述功能,以從作爲i幀裏面的頁面訪問父頁面的疊加,你是好去。

讓我知道的任何問題