Я использую jQuery с jqPlot.Поскольку отображение разных данных занимает несколько секунд, я хочу добавить индикатор того, что данные обрабатываются, чтобы пользователь не думал, что ползунок не работает.
Прямо перед выполнением jqPlotпопытался показать этот div:
<div id=loading>
<p>loading</p>
</div>
При пошаговом выполнении кода с помощью Firebug DIV отображается и правильно исчезает после завершения jqPlot, но когда я нормально запускаю программу, DIV отображается после график перерисован.
Я также пытался использовать диалоговое окно.Это также отображает после графика.
Но когда я использую поле alert (), сначала появляется предупреждение, я нажимаю «ОК», затем график рисуется.
Что мне нужно сделать, чтобы отобразить какое-то сообщение до завершения графики?
Код CSS (просто что-то, чтобы сделать его очень заметным):
.loading {
font-size: 50pt ;
border: 1px solid #000000;
width: 1250px;
background-color: green;
}
Код, который показывает / скрывает загрузочный DIV
<div class="layout">
<div class="layout-slider-settings"></div>
<div class="layout-slider">
<input id="Slider0" name="area" value="1" >
</div>
<script type="text/javascript" charset="utf-8">
jQuery("#Slider0").slider(
lots of parameters here
{
$( ".loading" ).show() ;
// alert("Am I visible?" ) ; IF THIS IS UNCOMMENTED, THE 'loading' MESSAGE DOES NOT APPEAR
x = this.getValue() ;
plot0.replot();
plot0.destroy() ;
plot0 = createChart( line0, 'chart0', 'Package ONE', 4, 9, x*7) ;
// alert("about to disappear" ) ;
$( ".loading" ).hide() ;
}
});
</script>
<div class="layout-slider-settings">
</div>
</div>
<div class="loading"><p>loading</p></div>
Код createChart:
<script type="text/javascript" >
function createChart( data, chart, title, lowerLimit, upperLimit, numDays )
{
plot = $.jqplot( chart, [data], {
lots of parameters here
});
return plot ;
} <!-- end create document -->
Код готовности документа:
$(document).ready(function(){
$( ".loading" ).hide() ;
$.jqplot.config.enablePlugins = false;
});
При просмотре кода или использовании alert () отобразится сообщение «loading».