Скрыть & quot; далее & quot; кнопка на последнем элементе

У меня есть несколько дел, которые посетители могут пролистывать с помощью кнопок «предыдущий» и «следующий». Это код, который я написал, который отлично работает:

$("#next").click(function(){
$(".open").removeClass("open").fadeOut(200, function(){ // remove .open from current opened detail and fade out
$(this).next(".outsourcing").addClass("open").fadeIn(400); // add .open to next detail and fade in
if ($(".open").hasClass(".item<?php echo $outsourcing_count-1; ?>")) {
$("#next").hide();
}
})
});

На последнем пункте я хотел бы скрыть кнопку «Далее». Последний элемент не является последним дочерним элементом в содержащем div, поэтому я использовал PHP, чтобы пометить его специальным классом, как вы можете видеть в приведенном выше утверждении if. Но если утверждение не похоже на увольнение, есть мысли? Спасибо!

0

Решение

Удалить «.» перед элементом .. вам не нужно давать идентификатор класса, когда вы используете hasClass

 if ($(".open").hasClass("item<?php echo $outsourcing_count-1; ?>")) {
$("#next").hide();
}
1

Другие решения

Вам не нужно использовать введенное значение PHP, чтобы проверить, является ли это последним элементом

if ($(".open").is(':last-child'))
{
// must be the last item
}

будет делать, или (если это не последний дочерний элемент в этом контейнере) просто проверьте, есть ли next вещь:

if (!$(".open").next(".outsourcing").length)
{
// must be the last item
}

Вы все равно получите идею. Просто проверьте конкретную конфигурацию DOM, а не возитесь с нумерацией панелей. Вы не должны добавлять зависимости, если вам это не нужно.

0

По вопросам рекламы [email protected]