2016-09-07 3 views
1

У меня есть страница с 5 div. Показывается только один из них - остальные 4 скрыты css. У меня есть кнопка, которую я бы хотел, чтобы щелкнуть и показать дополнительный div по одному за раз в последовательности. Таким образом, другими словами ... 1-й щелчок ссылки показывает div # 2, второй щелчок добавляет div # 3, третий клик будет показывать div # 4, и тогда последний щелчок будет иметь все 5 разделов.Ссылка Jquery для отображения divs в последовательности по одному за раз?

У меня все в порядке с изображением/скрыть аспект, но как я могу получить ссылку для перехода, чтобы показать следующий div в последовательности?

+2

может быть, если вы показываете немного кода может быть проще, чтобы помочь – UserEsp

+0

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

+0

На самом деле это не карусель, о котором я думал ... см. Два ответа ниже. Спасибо вам все равно :) – nnns

ответ

1

Простой способ осуществить это будет нумеровать дивы путем присвоения идентификаторов как див1, div2, div3 ...

Тогда это просто вопрос отслеживания подсчета видимых дивы. В обработчике событий нажатия кнопки вы увеличиваете счетчик и генерируете идентификатор следующего div для отображения.

Также добавьте проверку, чтобы увидеть, будет ли количество видимых divs равным итоговым divs для отображения.

var visibleDivsCount = 1; 
var totalDivsCount = 5 


function DisplayNextDiv() 
{   
    if(visibleDivsCount < totalDivsCount) 
    { 
     visibleDivsCount += 1; 
     $("#div"+visibleDivsCount).show(); 
    } 
} 


$("#button").click(function(){ 
    DisplayNextDiv(); 
}); 
+0

Это превосходно - именно то, что я искал. Большое спасибо :) У меня есть преимущество, но у меня недостаточно рейтинга, чтобы иметь какую-то разницу :( – nnns

+0

Позор ... кажется, ваш вопрос был опущен. Иногда это не те вопросы, которые важны, но ответы и беседа они начните ... Я подниму Кетан для вас, и ваш вопрос. Счастливое кодирование. – Nunchy

+0

Спасибо Nunchy :) – nnns

0

Вы всегда можете получить доступ к дисплею каждого DIV, чтобы получить значение display собственности, так как, насколько я знаю, функция JQuery hide() просто устанавливает дисплей на none, во всяком случае.

Вы могли бы написать функцию, которая проверяет эти значения - как еще один плакат предположил, что это может быть идея назвать своим div «S с помощью последовательных идентификаторов, как:

<div id="div-0"></div> 
<div id="div-1"></div> 

И так далее ... потом построить свой JQuery селекторы в цикле и проверьте свойство дисплея:

for (divNo = 0; divNo < numberOfDivs; divNo++) { 
    if ($("#div-" + divNo.toString()).css("display") == none) { 
     // Show this div and bail. 
     // ... 
    } 
} 
+0

Спасибо Nunchy ... еще одна отличная идея :) – nnns

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

  • Нет связанных вопросов^_^