我正在研究地图应用程序。以下代码块在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">
?
任何信息都将不胜感激,谢谢你。