График флота не отображается, когда родительский контейнер скрыт

У меня возникла проблема, из-за которой граф флота не отображался в интерфейсе с вкладками, потому что div-заполнители были дочерними элементами div с 'display: none'. Оси будут отображаться, но не будет содержимого графика.

Я написал функцию javascript ниже в качестве оболочки для функции построения графика, чтобы решить эту проблему. Это может быть полезно для других, делающих что-то подобное.

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);
}

Вот CSS для div загрузчика графа, который можно разместить в любом месте страницы.

#graphLoaderDiv{
    visibility: hidden;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 500px;
    height: 150px;
}
11
задан beauburrier 25 March 2011 в 17:38
поделиться