我使用顏色框(jquery的插件)來顯示一個多步驟的註冊過程。我在「iframe」模式下使用了colorbox。問題的顏色框重新加載的IFRAME內容上colorbox.resize
$('#signup').colorbox({
width: '500px',
height: '250px',
opacity: '.5',
scrolling: false,
fixed: true,
iframe: true
});
由於不同步驟的內容具有不同的高度,我想爲顏色框,當它加載了新的一步自動調整自身。
我用下面的代碼在iframe中的內容(只需在附近的文件結束腳本標籤):我曾試圖簡化版本
$(function() {
var iH = $(document.body).height();
console.log("iframe height: " + iH);
parent.$.colorbox.resize('height', iH);
});
在此之前:
parent.$.colorbox.resize();
但在這兩種情況下,我最終什麼似乎是一個無限循環:iframe的內容不休重載並沒有真正顯示(其實我可以看到它有時會閃爍)。 所述iFrame(第一循環期間)的過程中調整大小,因此它似乎是部分地工作。然而,新的大小似乎太小預期的內容,所以我真的不知道......
知道爲什麼這不工作,如何解決這個問題?
更新: 如果我把上面的腳本(簡版)在第二個步驟,而不是第一個,我避免了無限循環,但當我點擊進入第二個步驟,第一步驟實際上是加載而不是第二步。
也是一樣,如果我把這個腳本在第三步:第一步,而不是加載。
如此看來執行,當它的「調整」功能,顏色框樣重新啓動的這一切從一開始...
會發生什麼事,如果你有沒有後續的呼叫建立initialWidth和initialHeight而是高度和寬度的大小? – chim
btw你還在尋找答案? – chim
@chim:我有點放棄了,但我仍然很想解決這個問題。我沒有想過使用initialHeight而不是height。我明天會嘗試。 – s427