Клуб API Карт

Перезагрузка карты

Пост в архиве.
Добрый день. Работаю с Yandex картой. Есть проблема. Я созда на карте метку с балуном. В описании балуна размещен код кнопки при нажати которой по onclick вызывается js функция открывающая модальное окно используя div style=block. При закрытии окна карта перезагружается. Как этого можно избежать заранее спасибо за помощь.
7 комментариев
Александр Новиков
28 января 2016, 06:56
Похоже что-то у вас в модальном окне твротися не то :) Или же когда открываете окно что-то лишнее делаете. В общем не видя кода сложно что-то конкретное сказать.
Дайте ссылку на страницу, пожалуйста.
rassvet-media.ru/add_prog
Советую посмотреть схожие обсуждения в теге lightbox:
http://clubs.ya.ru/mapsapi/posts.xml?tag=10908077

Я сделал минимальный фрагмент кода с вашим модальным окном:

http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" xmlns:umi="http://www.umi-cms.ru/TR/umi">
        <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <script src="http://api-maps.yandex.ru/1.1/index.xml?key=AJ7ZN0oBAAAAZqCjZgQAwlz-DkZB1iTBwScJhq8-bbm-n7UAAAAAAAAAAACTEnDQreoXsHiC1c_lEJKGa7fu7A==&modules=plainstyle" type="text/javascript">script>
      <script type="text/javascript">   
          var modalbox,
              boards = ["blabla"];

          window.onload = function () {
              //Создание модального окна
              modalbox = document.getElementById("modalbox");
              document.getElementById("main").appendChild(modalbox);
              modalbox.style.left = 400;
              modalbox.style.top = 100;
             
              var globalMap = new YMaps.Map(document.getElementById("globalMapID"));
              globalMap.setCenter(new YMaps.GeoPoint(50.17,53.23), 11);
 
              for (var i = 0; i               { 
                var placemark = new YMaps.Placemark(new YMaps.GeoPoint(50.17,53.23));
                placemark.setBalloonContent("Новое описание метки
");
                globalMap.addOverlay(placemark);
              }
          }
         
          function ShowModalbox(boardParam) {
              document.getElementById("main").style.display = "block";
              modalbox.style.display = "block";
          }
             
          function HideModalbox() {
              document.getElementById("main").style.display = "none";
          }
      script>

    <style>
        div#main {
            position: absolute;
            display: none;
            top: 0px;
            left: 0px;
            background-color: #fff;
            width: 100%;
            height: 300%;
            z-index: 101;
            opacity: 0.8;
            filter: alpha(opacity=80)
        }

        div#globalMapID {
            width: 500px;
            height: 600px;
           
            z-index: 0;
        }
    style>
head>

<body id="umi-cms-demo">
           
    <div id="globalMapID">div>

    <div id="main">div>
    <div id="modalbox">
        <div id="body">
            <input type="button" value="Закрыть" class="but" onclick="HideModalbox()">
        div>
    div>

body>


Карта не перегружается. Это означает, что ошибка сокрылась в недрах ваших остальных скриптов. Предлагаю вам самостоятельно поискать ошибку, отключая поочередно дополнительные скрипты. Тем самым вы локализуете и устраните ошибку.
благодарю за подсказку, буду искать причину
Если не удастся найти причину - пишите. Попробуем это сделать вместе.
Да, кстати заметил еще, что вся страница перегружается.