2014-01-29 161 views
2

我使用的引導與jQuery/Javascript和單張地圖後刷新/重載div標籤的容器。 我有在其內具有地圖div P本體格。我也有一個側欄div。上面的切換開關摺疊側邊欄div,並應增加pBody div從span9到span11的寬度。崩潰工作正常,這是在CSS中,但問題是地圖不會重新繪製到div的新大小。我試着用下面的代碼:尺寸變化

$("#toggle").click(function (event) { 
    event.preventDefault(); 

    $('#pBody').toggleClass('span9'); 
    $('#pBody').toggleClass('span11'); 

    //L.Util.requestAnimFrame(map.invalidateSize, map, !1, panelBody._container); 
    //I have tried this above line but still does not work. 

    $("#map").width("100%"); 
    map.invalidateSize(false); //this is leaflet function which should redraw the map. 
}); 

在地圖div中生成的額外空間填充灰色。每次和你的放大/縮小地圖,有時會完全繪製地圖,以全尺寸或有時包括灰色空間。

+0

你有沒有試過,$( 「#map」)的CSS( 「寬度」, 「100%」)。 –

+0

阿倫已經試過這個,不起作用。 – user2906420

+0

您可以發佈鏈接到的jsfiddle –

回答

2

有沒有可能是你的map變量超出範圍,不能從點擊函數內訪問?

我設置一個jsfiddle以最小的例子,我不能看到的行爲,但是當你註釋掉

map.invalidateSize(false); 

線,你可以看到灰色的空間。

+0

地圖的範圍,但你的提琴幫助了我。謝謝 – user2906420

+0

我很高興它幫助! – 2014-01-29 15:26:41

+0

我欠你一杯啤酒!感謝您的解決方案!我在這一個上旋轉了幾個小時的車輪! – sumitkm