我遇到了一個問題,即flot圖不會在選項卡式界面中呈現,因爲佔位符div是'display:none'的div子元素。將顯示軸,但不顯示圖形內容。當父容器被隱藏時,Flot圖不會呈現
爲了解決這個問題,我編寫了下面的javascript函數作爲plot函數的包裝。對於其他人做類似的事情可能會有用。
function safePlot(placeholderDiv, data, options){
// Move the graph place holder to the hidden loader
// div to render
var parentContainer = placeholderDiv.parent();
$('#graphLoaderDiv').append(placeholderDiv);
// Render the graph
$.plot(placeholderDiv, data, options);
// Move the graph back to it's original parent
// container
parentContainer.append(placeholderDiv);
}
這裏是圖形裝載機DIV它可以在頁面上放置 任何地方的CSS。
#graphLoaderDiv{
visibility: hidden;
position: absolute;
top: 0px;
left: 0px;
width: 500px;
height: 150px;
}
具有可見性的div:hidden實際上有尺寸,它是帶顯示的div:沒有。 – beauburrier 2011-03-25 17:39:15
如果它是'display:none' div的孩子,那麼它不會嗎? – Ryley 2011-03-25 18:38:46
對,顯示的孩子:沒有div的尺寸不可用於Flot用於渲染圖形,在IE中肯定。這就是這個隱形加載div用來解決這個問題的原因,因爲它被放置在任何容器div之外的頂層。 – beauburrier 2011-03-27 16:04:22