2014-02-20 39 views
0

我正在使用iframe中的應用程序。 iframe非常長,但從來沒有一個滾動條 - 但顯然外頁面。iframe中的位置對話框

在iframe中,我顯示的是模式對話框(dojo中的一個),並且需要將對話框定位爲距視口頂部10px。但似乎jQuery沒有任何可用的函數,它將確定相對於當前工具欄設置的正確位置(scrollTop需要使用來自外部頁面的元素進行調用,並且沒有iframe會比視口更長) 。也不可能使用固定的css位置,因爲它需要位於頂層文檔中。

我也曾嘗試使用Dojo支持對象窗口,但定位也不能正常工作......

感謝提前任何幫助。

回答

0

那麼,你可以添加一個處理程序的父頁「onscroll」事件。在處理程序可以檢索滾動的頂部位置,並通過一個函數發送此值的子框架,像這樣:

window.onscroll = function() { 
     var doc = document.documentElement, body = document.body; 
     var top = (doc && doc.scrollTop || body && body.scrollTop || 0); 
     document.getElementById("IFRAME_ID").contentWindow.SetTopValue(top); 
    }; 

在孩子身邊,將模態div來固定CSS位置,在接收父滾動值的JavaScript函數中,您將「top」屬性設置爲「scrollvalue + 10」。類似這樣的:

function SetTopValue(top) { 
     document.getElementById("MODAL_DIV").style.top = (10 + top) + "px"; 
    }