Прокрутка HTML таблицы по горизонтали с помощью JS - PullRequest
0 голосов
/ 27 августа 2018

Как бы я смог прокрутить таблицу HTML по горизонтали в указанный столбец с помощью JS, у меня есть overflow: scroll; в моей таблице, и я хочу знать, могу ли я сделать что-то вроде:

myTable.scrollToColumn(column_ID_or_something_here);

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Вы можете использовать scrollIntoView

document.getElementById("column_ID_or_something_here").scrollIntoView(true);

Если scrollIntoView каким-то образом нарушает DOM, используйте метод focus().Ключевой момент здесь, если элемент не имеет tabindex, сначала вам нужно добавить его.
В столбце таблицы вашего случая, вероятно, нет tabindex, код будет:

element.setAttribute('tabindex', '999'); 
element.focus();

Если вам нужно этодля Selenium здесь код (Java):

((JavascriptExecutor) driver).executeScript("arguments[0].setAttribute('tabindex', '999'); arguments[0].focus();", seleniumElement);
0 голосов
/ 27 августа 2018

Прежде всего, возьмите любой элемент из этого столбца, используя document.getElementsByClassName ("имя_класса") [n].Применение метода getBoundingClientRect () даст вам свойства left и right элементов относительно их положения на экране следующим образом:

document.getElementsByClassName("class_name")[n].getBoundingClientRect().left
document.getElementsByClassName("class_name")[n].getBoundingClientRect().right

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

table_Element.scrollBy (x, y) поможет вам прокрутить таблицу.Поставьте y как 0, так как вы не хотите прокручивать вертикально, а x как -1 * (значение слева).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...