2012-01-15 2 views
1

Основываясь на времени, я показываю divs один за другим.<hr> между divs

я сделать это с помощью JQuery с

$("#section_"+index).show(); 

Мои дивы имеют идентификаторы, как: section_1, section_2, section_3 и т.д.

я есть УАК currentSection который является идентификатор последнего, который показано на рисунке. Теперь я хочу hr (горизонтальная линейка) между последней показанной и предыдущей. И если он показывает следующий, старый hr должен быть удален и должен быть показан новый hr.

Можно ли это сделать с помощью jquery?

+0

«section_x» как ids ужасно – Raynos

+0

Это можно сделать с использованием чистого CSS: '[id^=" section "]: last-of-type {border-top: 2px solid # 000;}'. –

+0

@RobW не поддерживается IE. (<= 8) –

ответ

2

В вашем CSS, добавьте:

.latest { 
    border-top: 1px solid #888; 
} 

В ваших JS измените вы показываете заявление:

$('.latest').removeClass('latest'); 
$("#section_"+index).addClass('latest').show(); 
+0

Я рекомендую '[id^=" раздел _ "]: last' вместо' # section_';) –

+0

Да, это тоже сработает. Даже если индекс пока неизвестен. – techfoobar

+0

спасибо, ясно и легко. – clankill3r

0

В дополнение к techfoobar's answer, вы могли бы сделать что-то вроде этого:

$.fn.showNext = function(selector, delay) { 
    var previous = this; 
    var next = this.next(); 

    if (next.length > 0) { 
     setTimeout(function() { 
      previous.removeClass('latest'); 
      next.addClass('latest').show().showNext(selector, delay); 
     }, delay); 
    } 
}; 

$('.section').first().show().showNext('.section', 2000); 

Таким образом, вам не нужны эти нецелесообразные индексы section_n. Демо-версия here on JSFiddle.

+0

спасибо, мне нужен section_n для большего количества материалов, но ваше сообщение было полезным в любом случае. – clankill3r