jQuery перебирает вхождения текста в цикле

Мне нужно иметь возможность прокручивать следующий случай появления данного текста на странице. Точно так же, как самая распространенная функция поиска почти во всех программах (F3 - найти дальше).

Я пытаюсь сделать это с помощью jQuery, но никак не могу заставить его работать. Пробовал: NextAll (), next (), closest () (что кажется ошибочным), find (), eq (), children (), и т. Д. И т. Д.

Bellow - это образец, который работает, но попадает в последний элемент на странице и не просматриваются.

function scrollMe(tow){
    var targetOffset = $("*:contains('"+tow+"'):last").offset().top;
    $('html,body').animate({scrollTop: targetOffset}, 1000);
}

Чтобы было понятно, на моей странице есть набор строк (div) с текстом внутри. Каждый раз, когда пользователь нажимает на эту строку, он должен плавно скатиться вниз (или вверх) к следующей строке с текстом (если есть).

Пример:

<div onclick="scrollMe('hello');">hello</div>
<div onclick="scrollMe('world');">world</div>
<div onclick="scrollMe('foo');">foo</div>
<div onclick="scrollMe('hello');">hello</div>
<div onclick="scrollMe('bar');">bar</div>

Действительно, он должен быть заключен в jQuery, но это просто для иллюстрации.

7
задан Cœur 10 July 2019 в 06:18
поделиться