我正在使用ArcGIS Javascript,并且在地图上有一层图形。当用户滑动“不透明度”范围滑块时,它将调用changeOpacity函数,该函数依次调用2个函数:
1)openModal函数-将加载的gif放在地图顶部。
2)renderMapOpacity函数-将地图上的图形重新渲染为指定的不透明度。此功能还关闭加载gif。
正常运行时,第一个函数loadingGif被跳过,只有第二个函数发生。
但是,如果我使用chrome调试器逐步浏览javascript代码,一切都会按计划进行。
任何人都可以帮助我找出问题所在吗?
renderMapOpacity函数可能要花费大量时间,因此我希望在处理数据时显示加载的gif。
以下是一些相关代码:
滑块的HTML:
<input class="slider" type="range" min="0" max="1" step="0.1" value="1" style="width:100%" onchange="MapLibrary.changeOpacity(this.form.id, this.value)" id="slider" />
Javascript:
changeOpacity: function (viewNum, Opacity) {
if (Opacity == 1) {
submitForm(viewNum);
}
else {
openModal(viewNum.slice(-1));
renderMapOpacity((viewNum.slice(-1)), Opacity);
}
}
关于submitForm
函数的一些说明,这使地图呈现常规的不透明度。 submitForm
按钮也会调用openModal
,因此if语句中不需要它。具体来说,submitForm
函数调用openModal
,然后向控制器发送XHR请求,然后调用名为renderMap
的函数(类似于renderMapOpacity
,它呈现图形并关闭最后的加载gif)。这种方法可以奇怪地打开和关闭加载gif。
关于renderMapOpacity
函数的注释,它需要大约。需要10秒才能完成,因此将有足够的时间查看加载gif旋转。