2011-01-19 7 views
1

Я создаю систему слайд-шоу, которая показывает предыдущие & следующие кнопки для очевидных заданий. Однако слайды будут отдельными html-файлами, такими как slide1.html, slide2.html. Thickbox и другие плагины загружают html асинхронно внутри них. Каков наилучший способ сделать это. Я пишу плагин jQuery для всего процесса.Загрузка HTML внутри тегов div

Мне очень понравились идеи от опытных людей из JavaScript.

Большое спасибо. Цените всю помощь.

ответ

6

Не совсем уверен, что вы просите. Он мертв легко загружать HTML фрагменты в DIV с помощью load:

$("selector_for_the_div").load("your_url"); 

Пример (live copy):

jQuery(function($) { 

    var currentSlide = 0; 
    var slides = [ 
    "http://jsbin.com/enuju4/", 
    "http://jsbin.com/enuju4/2", 
    "http://jsbin.com/enuju4/3" 
    ]; 

    loadSlide(0); 

    $("#btnNext").click(function() { 
    loadSlide(currentSlide + 1); 
    }); 

    $("#btnPrev").click(function() { 
    loadSlide(currentSlide - 1); 
    }); 

    function loadSlide(index) { 
    if (index >= 0 && index < slides.length) { 
     currentSlide = index; 
     $('#slideHolder').load(slides[currentSlide]); 
    } 
    } 

}); 

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

+0

, который работает ... но будет ли функция загрузки заменить существующий слайд на новый? есть ли пустая функция, которую я мог бы использовать перед загрузкой? – Aayush

+0

@Aayush: Да, 'load' * заменяет * содержимое целевого элемента. Не нужно сначала его опорожнять. (Это подтверждается связанным примером.) –

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