Живой поиск jQuery — вернитесь к первому результату после того, как страница нашла все доступные результаты.

  • Автор темы Darutan
  • 24
  • Обновлено
  • 17, May 2024
  • #1
Я использую плагин mark.js, который позволяет искать текст на странице, он находит текст во время ввода, и если вы нажмете клавишу Enter, вы перейдете к следующему результату, пока он не найдет и не выделит все результаты.

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

Мне нужно иметь возможность прокручивать назад к первому результату после того, как был найден последний результат (точно так же, как это происходит, когда вы что-то ищете с помощью окна поиска Google Chrome (Control + F).

[Рабочая скрипка] https://jsfiddle.net/70okvfr1/6/

Вам нужно немного прокрутить вкладку результатов в скрипке, чтобы увидеть окно поиска.

За прокрутку между результатами отвечает следующая функция, она перейдет к последнему (Следующему) найденному тексту на странице:
 if(e.which==13){ // 13 = enter key

e.preventDefault();

arrowOffset++;

}
Код (JavaScript): Этот отвечает за использование клавиши Enter для запуска предыдущей функции:
  done: function() { var mark = $('mark[data-markjs]').last(); // Scroll to last <mark> if (mark.length) { $('html,body').animate({scrollTop: mark.offset().top-100}, 100); } }
Код (JavaScript): Спасибо заранее.

Darutan


Рег
10 May, 2013

Тем
1

Постов
1

Баллов
11
Тем
49554
Комментарии
57426
Опыт
552966

Интересно