2011-08-10 84 views
0

下面我有對方一些div,對每個DIV一個按鈕,地圖架,我有這樣的代碼:jQuery和谷歌地圖API在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); 

}); 

即當我點擊一個按鈕(類「本地化」),slideToggle(方法)在地圖持有者(mapDiv)上被調用,然後,在按鈕下方,地圖被加載進去而沒有問題。當我再次點擊按鈕時,div被關閉,一切都很好。

問題是,當我在Firefox(3.6,4,5)中執行此操作時,當我點擊按鈕以關閉帶div的div時,div被關閉,但是有一個空白區域,其中包含之前的widht和height關閉的地圖在按鈕下方。它不應該在那裏,一切都應該回到以前的狀態,即div應該在彼此之下,而且它們之間沒有額外的空格。

當您單擊放大鏡按鈕時,您可以查看我在http://hratpoker.sk(或http://hratpoker.sk/test2.html哪裏只使用了必要的代碼)所說的內容。

它在Chrome,Opera,IE8,IE9中完美工作,只有Firefox是一個問題。你有什麼建議嗎?提前致謝!

回答

0

嘗試調用:

google.maps.event.trigger(地圖, 「調整」);

一旦隱藏div,就可以調整地圖的大小。

或者設置CSS屬性「display:none;」在地圖上DIV停止它被用來流動頁面。