2015-06-02 3 views
0

У меня есть php-файл, который динамически загружает изображения с сервера, 20 изображений за один раз, вроде того, как потоки настенных записей Facebook динамически загружаются на страницу, когда пользователь прокручивает вниз ,Как вставить HTML динамически на сгенерированный php контент

Что я хочу сделать, это сжать пользовательский контент перед каждым 9-м элементом, начиная с 4-го элемента.

Я пытался манипулировать() Метод DOM с InsertBefore JQuery в то

var length = $('#container .item').length(); 
var i = 11; 

while (i < length) { 
    var el = $('#container .item').eq(i); 
    $('<div>custom content</div>').insertBefore(el); 
    i += 9; 
} 

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

Я хотел бы задать вопрос: 1) Есть ли способ манипулировать DOM динамически загруженным контентом? (с использованием .bind возможно?) 2) Если нет, то какой метод мне взять?

+0

Можете ли вы показать нам всю функцию вызова? –

+0

Когда вы делаете это действие? onDomready или загрузка окна? –

+0

Используйте подходящий парсер DOM для этого, как DOMDocument (http://php.net/manual/en/class.domdocument.php), и выполните все операции с сервером манипуляции. – brezanac

ответ

0

Это определенно возможно сделать это, но вам нужно тщательно подумать, как все это сочетается.

Как я понимаю, у вас есть страница php, которая служит пользовательскому «исходному» контенту (например, когда вы просто открываете facebook в первый раз). После загрузки страницы вы добавляете пользовательский контент через код javascript/jQuery (здесь я предполагаю, что ваш пользовательский контент не поступает из php-кода).

При определенном взаимодействии с пользователем (или иным способом) вы хотите загрузить новый динамический контент (например, прокрутка вниз на facebook, например). Отправляется запрос ajax, выполняется обратный вызов, и этот настраиваемый контент добавляется к (или заменяет другой контент) на странице. На этом этапе вам нужно повторно запустить код на клиенте, который первоначально добавил пользовательский контент на вашу страницу.

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

Итак, подведем итог:

  1. начальной загрузки страницы из PHP-файла (на стороне сервера)
  2. JS/JQuery код добавляет пользовательский контент (на стороне клиента)
  3. событие (например, взаимодействие с пользователем) для более динамический контент, отправляется запрос ajax (клиентская сторона)
  4. PHP извлекает и возвращает более динамический контент (на стороне сервера)
  5. Запрос Ajax успешно завершен и содержит это новое содержимое, оно добавляется к странице (clien т сторона)
  6. Более пользовательский контент должен быть добавлен, с помощью JS/JQuery (на стороне клиента)

Это примерно «поток» за веб-страницы с динамическим содержимым, чтобы дать конкретное решение для вас, однако, нам нужно больше узнать о вашем коде.

Смежные вопросы