2009-08-28 10 views
2

jQuery Thickboxを初めて使用しました。LoadingAnimation.gifを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); 
    } 

問題は 'loadingAnimation.gifが' でもグーグルマップの後、常にThickBoxの上に表示されている私は、次のコードを実装しました完全に読み込まれます。

答えて

1

次のCSSでのロードメッセージを削除することができます。

#TB_load img { display: none !important; } 

を、必要に応じて、スクリプトを使用してそれを削除することができます

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

を呼び出すことにより、あなたが欲しいときはいつでも

+0

これは動作していません.. !! : – kayteen

+0

私はあなたのCSSメソッドを一時的に隠すようにしました。 – kayteen

+0

JavaScriptをどのように呼び出すのですか?getElementByIdは有効な要素を生成しますか? –

0

私はGoogle Mapsのコードはそれと関係がないと確信しています。最善の方法は、ローダーを一切表示しない(Thickboxコードから削除する)か、レイアオーバーが初期化された後にloading.gifを隠すことです。

私はThickboxに精通していません。しかし、それはコールバックを持っている必要があります。 gif(またはそのコンテナ)を隠すために使用します。

+0

@Damien:もし私がそれを取り除くことができれば、間違いなく私はここでこの質問をしないでしょう。 :) – kayteen

0

は奇妙なようだが、

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

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

を変更すると、それは私のために働くことができます。 (それがすべて表示されないように)

+0

はい...それは全面的な問題です...私は#それがホームページにリダイレクトされるのを使うと、それは変です。 – kayteen

+0

tb_show()を呼び出してイメージを削除しようとしましたか? :$( "#TB_load")。remove();を使用します。 – thorncp

関連する問題