2011-08-10 9 views
0

でGoogle Maps APIが、ボタンとマップホルダーは各div要素であり、私はこの種のコードを持っている:jQueryとFirefoxの

function mapInitialize(lat, lng, mapDiv, place) { 

    //load google maps 

} 


$(".localize").click(function(){ 

      place = ... 
      lat = ... 
      lng = ... 

      mapDiv = $(this).parent().find(".map_canvas"); 
      mapDiv.slideToggle(300); 
      t=setTimeout("mapInitialize(lat, lng, mapDiv, place)",350); 

}); 

すなわち、ボタンの上に私をクリックすると、 (クラス "localize")、slideToggle(メソッド)がマップホルダ(mapDiv)で呼び出され、次にそのボタンの下にマップが問題なくロードされます。もう一度ボタンをクリックすると、divは閉じられ、すべてが正常です。

問題は、Firefox(3.6,4,5)で、d​​ivでマップを閉じるためにボタンをクリックしたときにdivが閉じられていたが、以前のwidhtとheightの空のスペースがあるということですボタンの下に閉じたmapDiv。それは存在してはいけません。すべてが以前の状態に戻る必要があります。つまり、divは互いに重なり合っていなくてはなりません。

http://hratpoker.sk(または、必要なコードのみが使用されているhttp://hratpoker.sk/test2.html)で、何を話しているのかを確認することができます。

Chrome、Opera、IE8、IE9では完全に機能しますが、Firefoxのみが問題です。あなたはなぜ示唆を持っていますか?前もって感謝します!

答えて

0

は呼び出してみてください。

google.maps.event.trigger(マップ、 "サイズを変更します");

divが非表示になったら、マップのサイズを変更します。

また、CSSのプロパティ「display:none;」を設定します。マップDIV上でそれを停止してページを流すのに使用される。

関連する問題