2013-06-04 3 views
0

У меня есть div, в котором есть пользовательская карта google; он занимает немного больше времени, чтобы загрузить оставшуюся часть страницы. Итак, в настоящий момент, пока он полностью не загрузится, создается мертвое пространство, поэтому элементы под ним загружаются так, как будто div с картой google не существует - до тех пор, пока div с картой google не загрузится, тогда он подталкивает элементы под ним в правильные должность. Это выглядит очень плохо при загрузке страницы.slow load div dead space

У кого-нибудь есть предложение исправить это?

Я попытался определить размеры в CSS.

#gmp { 
    background-color: #E5E3DF; 
    height: 300px; 
    left: 0; 
    overflow: hidden; 
    position: relative; 
    width: 400px; 
} 


$("#gmp").css("display","block").css("position","absolute") 

Также попытался определить размеры встроенных тоже.

+0

является #gmp контейнером div на карте google, так как я полагаю, что это ? –

+2

попробуйте добавить свойства 'min-height' и' min-width' css – user1

ответ

3

Да, вы можете использовать фиксированную «область» для карты Google, которую вы пытаетесь загрузить, тогда вы можете выбрать «onLoad» сделать ajax-вызов для загрузки нашей карты в div по вашему выбору.

Если есть JQuery доступного вы могли бы сделать это:

$(document).ready(function(){ 
    $('#gmp').load('http://google.com/loadmymap', function() { 
     alert('Load was performed.'); 
    }); 
}); 

чек здесь http://api.jquery.com/load/

ой и не делаете его абсолютным т.е. не делать: $ ("# ГМП") .css («display», «block»). css («position», «absolute») , но просто отображение: блок в исходном css

+0

Или я мог бы вложить его в Div с определенной высотой и шириной. Это сработало отлично; но ваш ответ, вероятно, лучший маршрут. –

+0

вы могли бы это сделать, это не имеет никакого значения, и рад помочь! –