У меня есть <ul>
с 6 элементами. Каждый элемент имеет класс планирования, ландшафта или окружающей среды. Элементы являются частью слайд-шоу jQuery Cycle на странице. Что я собираюсь сделать, так это показать что-то на странице, если отображаемый элемент списка является первым элементом с определенным классом.
Как вы можете видеть ниже, у меня есть два элемента списка с классом «планирование». Как определить, является ли отображаемый элемент списка первым с классом «планирование»?
Cycle дает мне отличную маленькую функцию, чтобы помочь мне, я просто не уверен, как написать if()
внутри моей вспомогательной функции, чтобы вызвать элемент, который я хочу отобразить на странице.
Любая помощь приветствуется!
** Изменить ** Вот jsFiddle: jsfiddle.net/73y2R/1
Вот html:
<ul>
<li class="planning">
<img src="images/pl_slide1.jpg">
<h2>Headline</h2>
<p>Lorem Ipsum</p>
</li>
<li class="planning">
<img src="images/pl_slide1.jpg">
<h2>Headline</h2>
<p>Lorem Ipsum</p>
</li>
<li class="landscape">
<img src="images/la_slide2.jpg">
<h2>Headline</h2>
<p>Lorem Ipsum</p>
</li>
<li class="landscape">
<img src="images/la_slide2.jpg">
<h2>Headline</h2>
<p>Lorem Ipsum</p>
</li>
<li class="environmental">
<img src="images/en_slide1.jpg">
<h2>Headline</h2>
<p>Lorem Ipsum</p>
</li>
<li class="environmental">
<img src="images/en_slide1.jpg">
<h2>Headline</h2>
<p>Lorem Ipsum</p>
</li>
</ul>
И вспомогательная функция:
function onBefore() {
var theid = $(this).attr('class');
$('#services h4').removeClass('recolor');
$('#slideShow ul li').removeClass('showTitle');
if($(this).hasClass('planning')){
$('#arrow').animate({'paddingLeft':'60px'});
$('#' + theid).addClass('recolor');
} else if ($(this).hasClass('landscape')){
$('#arrow').animate({'paddingLeft':'330px'});
$('#' + theid).addClass('recolor');
} else if ($(this).hasClass('environmental')){
$('#arrow').animate({'paddingLeft':'598px'});
$('#' + theid).addClass('recolor');
}
}
first
вы можете использовать селектор JQfirst-child
, если вы хотите, чтобы это происходило в нескольких экземплярах. И, предполагая, что вы хотите применять только стили (а не эффекты/функции), вы можете использовать псевдокласс CSSfirst-child
. - person Moses   schedule 09.03.2012