Клуб API Карт

яндекс карта не грузится если у её div'a - display: none;

Blase-cc
25 июня 2010, 17:49

если я прав, что яндекс карта не грузится, когда у её div'a дисплей обозначен в none (т.е. display: none;), то помогите исправить это, если причина в другом, то помогите пожалуйста её  найти. Вот мой код:

 

функции включения и выключения:

<script>
function hidediv(div){
document.getElementById(div).style.display="none";
}
function showdiv(div){
document.getElementById(div).style.display="block";
}
</script>


 дальше идёт таблца, как тушка(body) для самой карты:
<div id="BodYMap" style="width:650px;height:450px; position:fixed; left: 50%; margin: 0 0 0 -300px; display: none">

^^^^верхняя строка - div, который выключаем и включаем(код для включения находится в самом низу)

<table rules=all width=100% height=100% bgcolor=white border=1> 

<tr>

<td width=640 height=25 align=right><a href="javascript: hidediv('BodYMap')">Закрыть</a></td> <---выключить div

</tr>
<tr>

<td align=center>
 <div id="YMapsID" style="width:600px;height:400px; display:  block"></div>
</td>

</tr>
</table>
</div>

а вот ссылка для включения через функцию showdiv(). Вот она:

<td align="center" width=20%><a href="javascript: showdiv('BodYMap')"><b>Карта мира</b></a></td>

 

так вот, при включеном режиме(display: block) карта грузится, а если при выключеном(display: none) то когда её включить, на ней ничего не будет изображено, только серый цвет и tools'ы и всё, а самой карты нету

вот мой сайт, на котором я эксперементирую: blase.ax3.net

кнопка для включения находится под шапкой, под названием "Карта мира"

 

.....кто не понял, переформулируюсь:

изначально у яндекс-карты div находится в состояние "none" (<div style=display: none....), тоесть в состоянии невидимости, чтобы её включить(сделать видимой) надо нажать на кнопку, но при включении оказывается что карта не загружена, что она пустая.

если же изначально сделать div видимым (<div style=display: block....), то карта загружается вместе с самим сайтом, на котором она находится