Вам нужно немного подкорректировать, используя селектор в вызове .nextAll()
, например:
$(".nextproject").click(function() {
$(window).scrollTo(
$(this)
.parents()
.nextAll("li:visible:first"),
1000,
{easing:'easeOutExpo', axis:'x', offset:-75 }
);
});
Так как ваш HTML выглядит следующим образом:
<li class="container photography_cat" style="">
<!-- Other stuff.... -->
<div class="nextproject"></div>
</li>
Вы хотите найти следующий <li>
, который является родным братом .nextproject
родителя (не дочерний следующего элемента, который <li>
) ... это просто случилось сработать на всех, кроме последнего раздела, потому что они имеют <ul>
с <li>
элементами внутри (изображения справа).В последнем разделе «о» нет <li>
дочерних элементов, и ранее первым из этих маленьких изображений справа было то, к чему оно прокручивалось, а не фактический раздел… так что в конце он не работал:)
Теперь, когда я думаю об этом, возможно ли, что вы путаете .find()
и .filter()
?.filter()
также будет работать ... но поскольку .nextAll()
использует селектор, в этом случае нет необходимости.