PickUp
Новичок
Писал тут сайтик и возникла запара)
Сайтик обычный, в нём куча картинок есть, которые красиво отображаются во всплывающих иконках при нажатии, там jquery+js функция запускается. Вроде бы даже jqueryui.
Однако, нужно было сделать так, чтобы отображалось только несколько картинок. Для этого запилил с помощью ajax код:
тут js создаёт объект:
потом отправляет в файлик, в котором из базы достаются пути к каритнкам и отображаются на странице:
И всё бы вроде ничего, да только теряется функция js+jquery, которая должна отображать картинки в красивой форме.
Подскажите пожалуйста, как сделать так, чтобы получения данных через ajax снова запускались функции js-овские?
Сайтик обычный, в нём куча картинок есть, которые красиво отображаются во всплывающих иконках при нажатии, там jquery+js функция запускается. Вроде бы даже jqueryui.
Однако, нужно было сделать так, чтобы отображалось только несколько картинок. Для этого запилил с помощью ajax код:
тут js создаёт объект:
Код:
<script>
function showContent(link) {
var cont = document.getElementById('thumbs');
var loading = document.getElementById('loading');
cont.innerHTML = loading.innerHTML;
var http = createRequestObject(); // создаем ajax-объект
if( http ) {
http.open('get', link); // инициируем загрузку страницы
http.onreadystatechange = function () { // назначаем асинхронный обработчик события
if(http.readyState == 4) {
cont.innerHTML = http.responseText; // присваиваем содержимое
}
}
http.send(null);
} else {
document.location = link; // если ajax-объект не удается создать, просто перенаправляем на адрес
}
}
// создание ajax объекта
function createRequestObject() {
try { return new XMLHttpRequest() }
catch(e) {
try { return new ActiveXObject('Msxml2.XMLHTTP') }
catch(e) {
try { return new ActiveXObject('Microsoft.XMLHTTP') }
catch(e) { return null; }
}
}
}
</script>
Код:
<?php
$link = mysqli_connect("localhost", "root", "", "articl");
/* проверка соединения */
if (mysqli_connect_errno()) {
printf("Соединение не удалось: %s\n", mysqli_connect_error());
exit();
}
if (isset($_GET['i'])) {
$i = $_GET['i'];
}
else {
$i = 0;
}
$query = "SELECT image, alt FROM image ORDER by ID LIMIT ".$i.", 9";
if ($result = mysqli_query($link, $query)) {
/* извлечение ассоциативного массива */
while ($row = mysqli_fetch_assoc($result))
{
/* Работа с базой данных */
printf ('
<li class="item-thumbs span3 design'.$nomargin.'" style="background:url('.$row["image"].');">
<a class="hover-wrap fancybox" data-fancybox-group="gallery" title="'.$title.'" href="'.$row["image"].'"'.$title.'">
<span class="overlay-img"></span>
<span class="overlay-img-thumb font-icon-plus"></span></a>
<img src="'.$row["image"].'" alt="'.$row["alt"].'">
</li>');
$i++;
}
if ($i%9===0) {
$i = $i;}
else {
$i = $_GET['i'];
}
if ($i>17) {
$b = 18;
}
else {$b = 0;}
printf ('
<form>
<input onclick="showContent(\'content_loader.php?i='.$i.'\')" type="button" value="Следующая страница">');
if ($b == 0) {
$i = 0;
}
printf ('
<input onclick="showContent(\'content_loader.php?i='.($i-$b).'\')" type="button" value="Прерыдущая страница">
</form>
<script src="_include/js/jquery.fancybox.pack.js"></script>
<script src="_include/js/jquery.fancybox-media.js"></script>
<link href="_include/css/fancybox/jquery.fancybox.css" rel="stylesheet">
<script src="_include/js/jquery.fancybox.pack.js"></script> <!-- Fancybox -->
<script src="_include/js/jquery.fancybox-media.js"></script> <!-- Fancybox for Media -->'
);
/* удаление выборки */
mysqli_free_result($result);
}
/* закрытие соединения */
mysqli_close($link);
?>
Подскажите пожалуйста, как сделать так, чтобы получения данных через ajax снова запускались функции js-овские?