2

jQuery Thickbox は初めてです。次のコードを実装しました。

HTML:

<a class="thickbox" href="javascript:void(0);" onclick="javascript:initMap(lat,lng,'htmlmsg',1);" >map</a>

<div id="show_map" style="display:none">
    <div id="map_canvas"></div>
</div>

JS:

function initMap(x,y,msg,flg){
        var map = new GMap2(document.getElementById("map_canvas"),{size: new GSize(400,380)});
        map.removeMapType(G_SATELLITE_MAP);
        map.removeMapType(G_HYBRID_MAP);
        var point = new GLatLng(x, y);
        var htmlMsg = msg;
        map.setCenter(point, 14);
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        var baseIcon = new GIcon();
        baseIcon.shadow = "";
        baseIcon.iconSize = new GSize(20, 34);
        baseIcon.shadowSize = new GSize(37, 34);
        baseIcon.iconAnchor = new GPoint(9, 34);
        baseIcon.infoWindowAnchor = new GPoint(9, 2);
        baseIcon.infoShadowAnchor = new GPoint(18, 25);
        var letteredIcon = new GIcon(baseIcon);
        letteredIcon.image = "http://www.google.com/intl/en_ALL/mapfiles/marker.png";
        markerOptions = { icon:letteredIcon };
        var marker = new GMarker(point,markerOptions); 
        GEvent.addListener(marker, "mouseover", function() {    
            map.openInfoWindowHtml(point, htmlMsg);  
        }); 
        map.addOverlay(marker);
        if (flg==1){
            map.openInfoWindowHtml(point, htmlMsg);  
        }
        tb_show('Quick view','#TB_inline?height=400&width=400&inlineId=show_map',true);
    }

問題は、Google マップが完全に読み込まれた後でも、thickbox に常に表示される「loadingAnimation.gif」です。

4

3 に答える 3

1

次のCSSを使用して、読み込み中のメッセージを削除できます(まったく表示されないようにします)。

#TB_load img { display: none !important; }

オプションで、を呼び出すことにより、スクリプトを介してそれを削除できます

document.getElementById('TB_load').style.display = "none"

いつでも好きなときに。

于 2009-08-31T06:47:55.100 に答える
1

奇妙に見えますが、変化しています

<a class="thickbox" href="javascript:void(0);" onclick="..." >map</a>

<a class="thickbox" href="#" onclick="..." >map</a>

それは私のために働きます。

于 2009-08-28T19:45:10.590 に答える
0

Google マップのコードはそれとは何の関係もないと確信しています。最善の方法は、ローダーをまったく表示しない (Thickbox コードから削除する) か、layover が初期化された後に loading.gif を非表示にすることです。

私はThickboxに精通していません。ただし、コールバックが必要です。gif(またはコンテナ)を非表示にするために使用します。

于 2009-08-28T12:04:56.023 に答える