2015-01-13 2 views
0

Я использую библиотеку слайдера jQuery pixedelic camera. Я выбрал эту библиотеку, потому что она бесплатна и очень проста в использовании. В основном все, что нужно положить в своем коде:Обновить содержимое jQuery

<div class="camera_wrap camera_azure_skin" id="camera_wrap_1"> 
       <div data-thumb="images/slides/thumbs/bridge.jpg" data-src="images/slides/bridge.jpg"> 
       </div> 
       <div data-thumb="images/slides/thumbs/leaf.jpg" data-src="images/slides/leaf.jpg"> 
       </div> 
       <div data-thumb="images/slides/thumbs/road.jpg" data-src="images/slides/road.jpg"> 
       </div> 
    </div> 

+ some include scripts 

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

$('#some_button').click(function(){ 
    $('#camera_wrap_1').append('<div data-thumb="images/slides/thumbs/road.jpg" data-src="images/slides/rabbit.jpg"></div>'); 
}) 

Но проблема в том, что это слайд-шоу генерируется «OnLoad» страница, и переписывает этот простой вход в более сложную структуру. Это означает, что это простое приложение не будет работать, потому что добавляется в перспективе. Есть ли шанс, как использовать jQuery, Ajax или что-нибудь, чтобы обновить div #tendiv, чтобы заставить jquery генерировать новый контент?

+0

Вы пробовали повторно использовать $ ('# camera_wrap_1'). Camera(); после добавления? –

+0

Библиотеке, возможно, потребуется искать элементы для управления по-другому: вместо '$ ('. Someclass')' ему нужно будет '$ ('body'). Find ('. Someclass')' - это позволяет JQuery смотреть на HTML, который в настоящее время находится на странице, включая динамически добавленный контент. Если это открытый исходный код, я бы попробовал отредактировать их файл, чтобы сделать это, но иногда я знаю, что это может быть высокий порядок. – Porschiey

+0

это некрасиво, но должно работать: сохраните innerHTML # camera_wrap_1, добавьте дополнительные строки с большими пальцами данных, затем .html (concated) .camera(). в основном, начало с нуля каждый раз. проще, чем forking ... – dandavis

ответ

0

Вы можете попробовать удалить старый div id = 'camera_wrap_1', а затем добавить новый с именем 'camera_wrap_2', а затем использовать $ ('# camera_wrap_2'). Camera() ;. как этот метод, удалите перед тем, добавить новый, но увеличение идентификатора. Это может быть работа.

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