У меня есть набор функций Javascript, которые я использую с таблицей элементов ввода, чтобы включить навигацию. Такие вещи, как отслеживание текущего сфокусированного элемента и переполнение от конца одной строки до начала следующего. У меня есть поддержка полосы прокрутки с фиксированным первым столбцом, создав одну таблицу шириной всего один столбец в качестве фиксированного столбца и имеющую полосу прокрутки для другой таблицы.Принудительное позиционирование прокрутки с помощью Javascript scrollLeft
Тем не менее, я недавно заметил, что поведение прокрутки по умолчанию немного неполноценно. Когда я перехожу к последнему столбцу, Firefox оставляет этот столбец частично затененным полосой прокрутки, а не прокруткой достаточно далеко, чтобы увидеть ее. Точно так же, как только я прокручу, чтобы увидеть вторую часть последнего столбца, когда я перехожу к следующей строке, а навигационный код устанавливает фокус на ячейку в первом столбце (замороженная таблица), Firefox не изменяется полосу прокрутки, чтобы я мог видеть весь первый столбец.
Из-за этого я изучил, как изменить позиционирование прокрутки, используя javascript. В моей таблице нет вертикальной полосы прокрутки, только горизонтальной. Поэтому я наткнулся на scrollLeft.
document.getElementById("meastable").scrollLeft = 1; // reset scroll to leftmost
К сожалению, это, похоже, работает только время от времени. Когда я включил Firebug и проследил через мой навигационный код, где находится эта строка, он, похоже, работает время от времени, но большую часть времени эта строка будет выполняться, но таблица прокрутки влево остается неизменной, и я не вижу изменения визуально.
Я также установил scrollLeft на большое число, поэтому оно будет установлено максимально, как описано в документации, и это также не работает (за исключением одного раза в то время).
Я использую следующий код, чтобы настроить полосу прокрутки моей таблицей.
<div style="overflow:auto">
<table id="meastable" border="1">
Согласно документации Mozilla, это похоже на то, что было создано в IE, но теперь работает в Firefox. На самом деле это не работает в Firefox, поскольку проект для этого проекта будет только Firefox.
Так что я пытаюсь выяснить, что случилось. Известно ли, что scrollLeft не работает правильно, или мне нужно вернуться и посмотреть, что я ввернул что-то в свое определение полосы прокрутки или что-то в этом роде?
haha ... Я читал идентификатор как «мясной», – Jason