JQuery и Google Maps API в Firefox - PullRequest
       0

JQuery и Google Maps API в Firefox

0 голосов
/ 10 августа 2011

У меня есть несколько div'ов друг под другом, на каждом div есть кнопка и держатель карты, и у меня есть такой код:

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), когда я нажимал кнопку, чтобы закрыть div с картой, div закрывается, но есть пустое пространство с widht и высотой ранее закрытого mapDiv под кнопкой. Там не должно быть, все должно вернуться в предыдущее состояние, то есть элементы div должны быть ниже друг друга без лишних пробелов между ними.

Вы можете проверить, о чем я говорю, по адресу http://hratpoker.sk (или http://hratpoker.sk/test2.html, где используется только необходимый код), когда вы нажимаете кнопку увеличительного стекла.

Отлично работает в Chrome, Opera, IE8, IE9, проблема только в Firefox. У вас есть предложение, почему? Заранее спасибо!

1 Ответ

0 голосов
/ 14 августа 2011

Попробуйте позвонить:

google.maps.event.trigger (map, "resize");

После того, как div скрыт, чтобы изменить размер карты.1006 * В качестве альтернативы установите свойство CSS "display: none;"на карте DIV, чтобы он не использовался для передачи страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...