Как прокрутить до определенного элемента с помощью jQuery? - PullRequest
239 голосов
/ 25 мая 2010

У меня большой стол с вертикальной полосой прокрутки. Я хотел бы перейти к определенной строке в этой таблице, используя jQuery / Javascript.

Существуют ли встроенные методы для этого?

Вот небольшой пример игры.

div {
    width: 100px;
    height: 70px;
    border: 1px solid blue;
    overflow: auto;
}
<div>
    <table id="my_table">
        <tr id='row_1'><td>1</td></tr>
        <tr id='row_2'><td>2</td></tr>
        <tr id='row_3'><td>3</td></tr>
        <tr id='row_4'><td>4</td></tr>
        <tr id='row_5'><td>5</td></tr>
        <tr id='row_6'><td>6</td></tr>
        <tr id='row_7'><td>7</td></tr>
        <tr id='row_8'><td>8</td></tr>
        <tr id='row_9'><td>9</td></tr>
    </table>
</div>

Ответы [ 13 ]

1 голос
/ 16 апреля 2013

Не знаю, почему никто не говорит очевидное, так как есть встроенная функция javascript scrollTo:

scrollTo( $('#element').position().top );

Ссылка .

0 голосов
/ 22 февраля 2019

Я сделал эту комбинацию. это работа для меня. но сталкиваются с одной проблемой, если нажать переместить этот размер div слишком велик, чтобы Scenerio Scroll не вниз к этому конкретный дивизион

 var scrollDownTo =$("#show_question_" + nQueId).position().top;
        console.log(scrollDownTo);
        $('#slider_light_box_container').animate({
            scrollTop: scrollDownTo
            }, 1000, function(){
        });

        }
0 голосов
/ 26 февраля 2016

Для чего это стоит, вот как мне удалось добиться такого поведения для общего элемента, который может быть внутри DIV с прокруткой (не зная контейнера)

Это создает ложный ввод высотыцелевой элемент, а затем фокусируется на нем, и браузер позаботится обо всем остальном, независимо от того, насколько глубоко вы находитесь внутри прокручиваемой иерархии.Работает как шарм.

var $scrollTo = $('#someId'),
inputElem = $('<input type="text"></input>');

$scrollTo.prepend(inputElem);
inputElem.css({
  position: 'absolute',
  width: '1px',
  height: $scrollTo.height()
});
inputElem.focus();
inputElem.remove();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...