Показать сообщение отдельно
  #17 (permalink)  
Старый 10.03.2015, 21:51
Аватар для spo
spo spo вне форума
Профессор
Отправить личное сообщение для spo Посмотреть профиль Найти все сообщения от spo
 
Регистрация: 11.05.2011
Сообщений: 213

dd_smol, событие load взято из примера google maps api.
В том то и дело что во фрейме код google map, который в зависимости от того какому элементу назначен класс curr, устанавливает на карте метки из одного или другого массивов.

На главной странице (index.html) две ссылки "карта компании" и "диллеры", при клике на которые всплывает окно (map.html).
В файле map.html находятся две ссылки аналогичные тем что в файле index.html и код добавляющий карту.
В данном коде есть проверка какая из двух ссылок имеет класс curr.

Таким образом в index.html
<a rel="a" class="fancybox.iframe" href="map.html">a</a>
<a rel="b" class="fancybox.iframe" href="map.html">b</a>

и js
$('a[rel]').each(function(i, elem) {
	$(this).fancybox({
		afterLoad: function() {$($('iframe')[0].contentWindow.document).find('.' + $(elem).attr('rel')).addClass('curr')}
	})
});

В map.html
<a class="a" href="#">a</a>
<a class="b" href="#">b</a>

и js
function init() {
	// google maps code
	coords();
}
function coords() {if($('.a').hasClass('curr')) {coords1()} else {coords2()}}
google.maps.event.addDomListener(window, 'load', init);
Ответить с цитированием