Ajax завершает загрузку с помощью prettyPhoto - jquery

Я открываю окно ajax с помощью prettyPhoto: http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/

Это моя ссылка, чтобы открыть окно

<a rel="prettyPhoto[ajax]" href="resources/comments.php?ajax=true&width=500&height=460&projectid=<?php echo $result['id']; ?>" class="buttonPro medium grey" id="commentsButton" data-projectid="<?php echo $result['id']; ?>">Comments</a>

Внутри comment.php у меня есть div, который, когда он полностью загружен, я хочу, чтобы он прокручивался вниз. У меня это так, отвечая на комментарий, прокручивает div вниз, я просто не могу понять загрузку окна ajax. Любые идеи?


person Ronnie    schedule 02.03.2012    source источник
comment
Можете ли вы предоставить пример страницы того, над чем вы работаете?   -  person Chris Abrams    schedule 03.03.2012
comment
Независимо от страницы, над которой я работаю, я просто ищу событие загрузки или завершения вызовов ajax в prettyphoto. Демонстрация ajax находится здесь: no-margin-for-errors.com/projects/   -  person Ronnie    schedule 03.03.2012


Ответы (1)


Согласно документации: http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/documentation/ нет возможности для обратного вызова ajax(). Кажется, что у него есть только обратные вызовы для изменения изображения или закрытия prettyPhoto.

Я добавил обратный вызов ajax в созданную мной вилку: https://github.com/chrisabrams/prettyphoto

Просто не забудьте добавить это:

$("a[rel^='prettyPhoto']").prettyPhoto({
    ajaxcallback: myfunction() {},
    //other options here
});

Дайте мне знать, если это сработает, и я отправлю запрос в основной репозиторий.

person Chris Abrams    schedule 02.03.2012
comment
Хорошо, если его нет, я могу посмотреть исходный файл js и, возможно, добавить его, я не знаю. - person Ronnie; 03.03.2012
comment
Должно быть довольно просто добавить обратный вызов в плагин. Вы обязательно должны добавить его, а затем сделать запрос на включение в репозиторий github. - person Chris Abrams; 03.03.2012
comment
Ну, я не мог понять, как сделать обратный вызов, но в исходном коде после вызова ajax я сделал $("#commentsWindow").animate({ scrollTop:9999999 }, 300);, и это сработало. Обычно я бы не делал 99999, но $("#commentsWindow").props("scrollHeight") продолжал возвращать 0 - person Ronnie; 03.03.2012
comment
Я добавил вызов ajax, если вы хотите просто поместить в него свой код. - person Chris Abrams; 03.03.2012
comment
позвольте мне попробовать, вернусь через несколько - person Ronnie; 03.03.2012
comment
хорошо, у меня работает обратный вызов, однако $("#commentsWindow").prop("scrollHeight") по-прежнему возвращает 0. Это похоже на то, что обратный вызов происходит до того, как содержимое добавлено и видно. Это мой код, который я использую: pastie.org/3508089 - person Ronnie; 03.03.2012
comment
Хорошо, я добавил к вызову тайм-аут 300 мс, и теперь он не возвращает 0: pastie.org/3508122 - person Ronnie; 03.03.2012
comment
Да, я предполагаю, что это очень маленькое окно, в котором содержимое все еще применяется к странице, пока выполняется обратный вызов. - person Chris Abrams; 03.03.2012
comment
да .. хорошо, спасибо за добавление обратного звонка, это очень помогло - person Ronnie; 03.03.2012
comment
Хорошо, я вижу, что происходит; хорошо, я переместил обратный вызов - попробуйте сейчас :) Я обновил свой репозиторий - person Chris Abrams; 03.03.2012