За последние 24 часа нас посетил 18261 программист и 1642 робота. Сейчас ищут 1478 программистов ...

AJAX не подгружает стили+js

Тема в разделе "JavaScript и AJAX", создана пользователем PickUp, 6 мар 2014.

  1. PickUp

    PickUp Новичок

    С нами с:
    12 ноя 2013
    Сообщения:
    21
    Симпатии:
    0
    Писал тут сайтик и возникла запара)
    Сайтик обычный, в нём куча картинок есть, которые красиво отображаются во всплывающих иконках при нажатии, там jquery+js функция запускается. Вроде бы даже jqueryui.
    Однако, нужно было сделать так, чтобы отображалось только несколько картинок. Для этого запилил с помощью ajax код:
    тут js создаёт объект:

    Код (Text):
    1. <script>
    2.     function showContent(link) {
    3.  
    4.         var cont = document.getElementById('thumbs');
    5.         var loading = document.getElementById('loading');
    6.  
    7.         cont.innerHTML = loading.innerHTML;
    8.  
    9.         var http = createRequestObject();                    // создаем ajax-объект
    10.         if( http ) {
    11.             http.open('get', link);                            // инициируем загрузку страницы
    12.             http.onreadystatechange = function () {            // назначаем асинхронный обработчик события
    13.                 if(http.readyState == 4) {
    14.                     cont.innerHTML = http.responseText;        // присваиваем содержимое
    15.                 }
    16.             }
    17.             http.send(null);  
    18.         } else {
    19.             document.location = link;    // если ajax-объект не удается создать, просто перенаправляем на адрес
    20.         }
    21.     }
    22.  
    23.     // создание ajax объекта
    24.     function createRequestObject() {
    25.         try { return new XMLHttpRequest() }
    26.         catch(e) {
    27.             try { return new ActiveXObject('Msxml2.XMLHTTP') }
    28.             catch(e) {
    29.                 try { return new ActiveXObject('Microsoft.XMLHTTP') }
    30.                 catch(e) { return null; }
    31.             }
    32.         }
    33.     }
    34. </script>
    потом отправляет в файлик, в котором из базы достаются пути к каритнкам и отображаются на странице:

    Код (Text):
    1. <?php
    2. $link = mysqli_connect("localhost", "root", "", "articl");
    3.  
    4. /* проверка соединения */
    5. if (mysqli_connect_errno()) {
    6.     printf("Соединение не удалось: %s\n", mysqli_connect_error());
    7.     exit();
    8. }
    9. if (isset($_GET['i'])) {
    10. $i = $_GET['i'];
    11. }
    12. else {
    13. $i = 0;
    14. }
    15.  
    16. $query = "SELECT image, alt FROM image ORDER by ID LIMIT ".$i.", 9";
    17.  
    18. if ($result = mysqli_query($link, $query)) {
    19.  
    20.     /* извлечение ассоциативного массива */
    21.     while ($row = mysqli_fetch_assoc($result))
    22. {
    23. /* Работа с базой данных */
    24.   printf ('
    25.   <li class="item-thumbs span3 design'.$nomargin.'" style="background:url('.$row["image"].');">
    26.   <a class="hover-wrap fancybox" data-fancybox-group="gallery" title="'.$title.'" href="'.$row["image"].'"'.$title.'">
    27.   <span class="overlay-img"></span>
    28.   <span class="overlay-img-thumb font-icon-plus"></span></a>
    29.   <img src="'.$row["image"].'" alt="'.$row["alt"].'">
    30.   </li>');
    31.   $i++;
    32.   }
    33.   if ($i%9===0) {
    34.   $i = $i;}
    35.   else {
    36.   $i = $_GET['i'];
    37.   }
    38.   if ($i>17) {
    39. $b = 18;
    40. }
    41. else {$b = 0;}
    42.   printf ('
    43.       <form>
    44.         <input onclick="showContent(\'content_loader.php?i='.$i.'\')" type="button" value="Следующая страница">');
    45. if ($b == 0) {
    46. $i = 0;
    47. }
    48.   printf ('
    49.         <input onclick="showContent(\'content_loader.php?i='.($i-$b).'\')" type="button" value="Прерыдущая страница">
    50.     </form>
    51.     <script src="_include/js/jquery.fancybox.pack.js"></script>
    52. <script src="_include/js/jquery.fancybox-media.js"></script>
    53. <link href="_include/css/fancybox/jquery.fancybox.css" rel="stylesheet">
    54. <script src="_include/js/jquery.fancybox.pack.js"></script> <!-- Fancybox -->
    55. <script src="_include/js/jquery.fancybox-media.js"></script> <!-- Fancybox for Media -->'
    56.     );
    57.       /* удаление выборки */
    58.     mysqli_free_result($result);
    59. }
    60.  
    61. /* закрытие соединения */
    62. mysqli_close($link);
    63. ?>
    И всё бы вроде ничего, да только теряется функция js+jquery, которая должна отображать картинки в красивой форме.
    Подскажите пожалуйста, как сделать так, чтобы получения данных через ajax снова запускались функции js-овские?