0

我正在开发一个地图应用程序。以下代码块在 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">

任何信息将不胜感激,在此先感谢您。

4

0 回答 0