我正在开发一个地图应用程序。以下代码块在 IE10、Chrome 等中运行良好,但不适用于 IE8。它是一个激活空中图层的按钮,将按钮的文本更改为“street”(此时允许使用新的叠加按钮),如果您点击“street”按钮,则会切换回来。
btnStreetAerial_Click = function () {
var isAboveThreshold = (map.getScale() > 18055);
if ($("#btnStreetAerial").html() == '<span class="ui-button-text">Aerial</span>') {
//switch to aerial
if (isAboveThreshold) {
map.getLayer(mapEsriAerialLayerID).show();
}
else {
map.getLayer(mapLocalAerialLayerID).show();
}
map.getLayer(swova.mapStreetID).hide();
$("#btnAerialOverlay").show();
$("#btnStreetAerial").html('<span class="ui-button-text">Street</span>');
}
else if ($("#btnStreetAerial").html() == '<span class="ui-button-text">Street</span>') {
if (isAboveThreshold) {
map.getLayer(mapEsriAerialLayerID).hide();
map.getLayer(mapOverlay1LayerID).hide();
map.getLayer(mapOverlay2LayerID).hide();
map.getLayer(mapStreetID).show();
}
else {
map.getLayer(mapLocalAerialLayerID).hide();
map.getLayer(mapOverlay1LayerID).hide();
map.getLayer(mapOverlay2LayerID).hide();
map.getLayer(mapStreetID).show();
}
$("#btnAerialOverlay").hide();
$("#btnStreetAerial").html('<span class="ui-button-text">Aerial</span>');
$("#btnAerialOverlay").html('<span class="ui-button-text">Add Overlay</span>');
}
同样,这在除 IE8 之外的所有浏览器中都可以正常工作,并且我在 IE8 期间的调试不会超过 if 语句:
if ($("#btnStreetAerial").html() == '<span class="ui-button-text">Aerial</span>') {
然后按钮单击什么也不做。所以,我假设 IE8 不喜欢<span class="ui-button-text">
?
任何信息将不胜感激,在此先感谢您。