И так, пришел к следующему:
function parseGetParams() {var $_GET = {};var link; link= $('a.gallery2').attr("href"); var __GET = link.split("&"); for(var i=0; i<__GET.length; i++) {var getVar = __GET[i].split("=");$_GET[getVar[0]] = typeof(getVar[1])=="undefined" ? "" : getVar[1];}return $_GET;}
function ht()
{
var GETArr = parseGetParams();
s=GETArr['height']*1+350;
return s;
}
$("a.gallery2").fancybox(
{
"padding" : 20, // отступ контента от краев окна
"zoomOpacity" : true, // изменение прозрачности контента во время анимации (по умолчанию false)
"zoomSpeedIn" : 500, // скорость анимации в мс при увеличении фото (по умолчанию 0)
"zoomSpeedOut" :800, // скорость анимации в мс при уменьшении фото (по умолчанию 0)
"zoomSpeedChange" : 1000, // скорость анимации в мс при смене фото (по умолчанию 0)
"frameWidth" : screen.width-350, // ширина окна, px (425px - по умолчанию)
"overlayShow" : true, // если true затеняят страницу под всплывающим окном. (по умолчанию true). Цвет задается в jquery.fancybox.css - div#fancy_overlay
"overlayOpacity" : 0.8, // Прозрачность затенения (0.3 по умолчанию)
"hideOnContentClick" :false, // Если TRUE закрывает окно по клику по любой его точке (кроме элементов навигации). Поумолчанию TRUE
"centerOnScroll" : false, // Если TRUE окно центрируется на экране, когда пользователь прокручивает страницу
"frameHeight" : ht()
});
Теперь осталось две проблемы.
1. в самую первую функцию в link= $('a.gallery2').attr("href"); у меня всегда попадает только адрес первой ссылки. То есть на какую ссылку бы я ни нажал, всегда будет адрес первой ссылки. А мне нужно получить адрес нажатой ссылкит.
2. Ссылки вида:
<a class="gallery2" href="/script/jqp.php?id=1&height=550">1</a>
Выдают адрес, хоть и самой первой ссылки но все же выдают.
А ссылки вида:
<a class="gallery2" href="/script/jqp.php?id=1&height=550"><img src="/image.jpg"></a>
Выдают ошибку, типа нету адреса. что-то вроде undefinded.
Осталось совсем чуть чуть до решения вопроса, помогите пожалуйста. Тут даже вопрос уже не по fancybox, а чистый javascript.