Клуб API Карт

Серая карта

Пост в архиве.

Вобщем так и не смог разобраться.

 

$(document).ready(function() { 
 $(".desc").hide();  
$("h3.open-close").click(function(){  
  if ($(this).is(".current"))
  {
   $(this).removeClass("current");
   $(this).next(".desc").slideUp(400);
  }
  else
  {
   $(".desc").slideUp(400);
   $("h3.open-close").removeClass("current");
   $(this).addClass("current");
   $(this).next(".desc").slideDown(400);
  }
 });
});
  
<h3 class="open-close"><a href="javascript:void()"><span>Контакты</span></a></h3>
       
        <div class="desc">
       
            <div id="contact_map" class="two-even last">
                !!!!--скрипт карт--!!!!
<div id="YMapsID" style=""></div>
            </div><!--END contact_map-->
           
            <div id="spacer1"> //разделитель
                   
            <div class="two-even contact_info">
                <ul>
                   
                    <li>
                        <p class="italic">Наш адрес </p><br>
                       
                    </li>
                       
                    <li class="divider"></li>
                       
                    <li>
                        <p class="italic">Наш телефон </p><br>
                       
                    </li>
                       
                    <li class="divider"></li>
                       
                    <li>
                        <p class="italic">Электропочта</p><br>
                       
                    </li>
                   
                </ul><!--END ul-->
            </div><!--END contact_info-->   

 

Если использую map.redraw(), то блоки под хайдом становятся постоянно раскрытыми.

На всякий адресок - aviaps.ru (там теперь заглушка в лице джипега). Но все же буду очень признателен за помощь!

Мерси за советы!

 

14 комментариев

а как вызывали map.redraw()?

$("h3.open-close").click(function(){  
  if ($(this).is(".current"))
  {
   map.redraw(); // здесь?
   $(this).removeClass("current");
   $(this).next(".desc").slideUp(400);
  }
так?
Да, пробовал так.

а по второму щелчку скрывали карту?

что то типа

 

//
$("#contact_map").hide();
кажется же должно так работать)

 

Увы не работает.
Уже голову сломал не могу никак заставить рендериться карты((
$(document).ready(function() {  $(".desc").hide();  $("h3.open-close").click(function()
{map.redraw();} // здесь - все табы под хайдом раскрыты, но карта прорисована,
              в ином случае пробовал скрывать по клику и никак (либо табы неактивны, либо карта не отрисована))
{    if ($(this).is(".current"))  {   $(this).removeClass("current");   $(this).next(".desc").slideUp(400);  }  else  {   $(".desc").slideUp(400);   $("h3.open-close").removeClass("current");   $(this).addClass("current");   $(this).next(".desc").slideDown(400);  } });});
вот не поленился, проверил http://agp.lifeprom.com/test.html , все работает, попробуйте redraw вставить после .slideDown(400);

спасибо за помощь!

увы, но не сработало.

даже тупо беру и копирую кусок кода из вашего примера:

 

YMaps.jQuery(".title").click( function() {
            if (YMaps.jQuery(".content").is(":hidden")) {
                YMaps.jQuery(".content").slideDown(400);
                map.redraw();
            } else {
                YMaps.jQuery(".content").slideUp(400);
            }
            return false;
        })

и профита нет.

может это моя сиюминутная непроглядная глупость, но я так и не смог разобраться в проблеме, буду очень признателен если поможете.

попробуйте пожалуйста на примере моего кода свежим взглядом, тем более что он комментирован и не перегружен вроде бы.

Наверное делать map.redraw надо после окончания эффекта

 

YMaps.jQuery(".content").slideDown(400, function () {
     map.redraw();
});
               

 

не получается((
Если хотите, можете скинуть мне исходник на почту, посмотрю)

ок, html+js+css отправлю.

в скайпе добавил, можно списатьс

в скайпе так и не дождался ответа......получилось что-нибудь?

такие вещи лучше в личку писать, да и в скайп давно  отписал