как открыть другое окно prettyphoto, используя ссылку, которая находится внутри родительского окна prettyphoto? - PullRequest
0 голосов
/ 28 января 2011

У меня есть HTML-таблица, которая создается на стороне сервера с использованием AJAX. Эта HTML-таблица показана с использованием prettyphoto, пока все в порядке. Но последний столбец таблицы - это ссылка, которая вызывает изображение, которое также нужно открыть с помощью prettyphoto, но эта ссылка не работает, как я ожидал. Это открывает изображение без симпатичного фото. Смотрите код ниже:

-> Функция, которая использует AJAX и открывает таблицу внутри prettyphoto

функция myJS (myVar) {
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest ();}
else {xmlhttp = new ActiveXObject ("Microsoft.XMLHTTP");}
xmlHttp.onreadystatechange = функция () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var description = xmlhttp.responseText;
$ .prettyPhoto.open ('# inline-1', myVar, description);
}
}
xmlhttp.open ( "GET", "? return_form.php д =" + побег (MYVAR), правда);
xmlhttp.send ();
}

// Здесь div, используемый prettyphoto

<div id="inline-1" class="hide"></div>

------> Способ создания prettyphoto

$ (документ) .ready (функция () {
$ .Fn.prettyPhoto ();
$ ( "А [отн = 'prettyPhoto']") prettyPhoto ();.
}); * +1029 *

-> И то, как я снова вызываю prettyphoto внутри таблицы, возвращается ajax в родительском prettyphoto, который не работает. Когда я нажимаю на ссылку, она открывается обычным способом без симпатичной фотографии

<td><a href='Habilitacao.jpg' rel='prettyPhoto' title='This is the description'><img src='nf_logo.jpg' width='30' height='30' alt='This is the title' /></a></td>

Было бы хорошо, если ссылка в таблице откроет изображение в следующем окне, и когда я нажму на предыдущую кнопку открытого изображения, оно вернется к первой, у меня есть таблица с большим количеством ссылок. .

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

Спасибо

1 Ответ

0 голосов
/ 29 января 2011

Я не думаю, что функция $ .prettyPhoto.open () делает то, что вы ожидаете.Функция ожидает имя изображения в виде строки, заголовка изображения и описания изображения, но вы передаете ему идентификатор, переменную и весь ваш ответ ajax.

Попробуйте что-то вроде этого:

$(xmlhttp.responseText).find('a[rel^="prettyPhoto"]').prettyPhoto();

Замените то, что в настоящее время находится в вашем блоке "if (xmlhttp.readyState == 4 && xmlhttp.status == 200)" на приведенный выше код, и я думаю, что это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...