element.getBoundingClientRect () возвращает неправильные координаты в FF и Chrome

0

У меня есть объект, называемый "element". После обновления я хочу вернуться к тому же обновленному полю в таблице. Я пытаюсь найти координаты для объекта (в основном это строка таблицы). Следующий снипп отлично работает для IE. Но в FF и Chrome его не работает. поскольку он возвращает неправильные значения.

    var x = element.getBoundingClientRect();
    alert(x.top);

Как я могу получить точные координаты в FF и хром? если это невозможно с помощью вышеуказанного кода, есть ли альтернативный подход?

Может кто-нибудь объяснить?

  • 0
    Боже мой, что-то на самом деле работает в IE, что Chrome и Firefox терпят неудачу в? Теперь есть новинка. Ох уж и анимированные фоновые градиенты. IE тоже делает это довольно круто.
Теги:
dom

1 ответ

0

Вы, кажется, не факторизуете текущую позицию прокрутки страницы.

Когда вы перезагружаете страницу, большинство браузеров будут прокручивать вас назад до того места, где вы были до перезагрузки (довольно полезная функция).

Вероятно, IE оценивает getBoundingClientRect перед прокруткой туда, где вы были до перезагрузки, тогда как Chrome и Firefox выполняют прокрутку в первую очередь.

  • 0
    Я использую iFames .. в Frame1 у меня есть таблица. когда я выбираю запись в Frame1, все поля в записи будут отображаться в Frame2. Итак, если я даю новые значения для записи в Frame2, то Frame1 должен быть обновлен, и фокус должен быть на обновленной записи. В IE все работает нормально. Принимая во внимание, что в FF и Chrome, я не могу видеть обновленную запись, поскольку функция прокрутки не работает должным образом, потому что неправильные координаты передаются методу scrollTo (x, y). Можете ли вы предложить по этому вопросу? @Niet the Dark Absol
  • 0
    Поскольку у вас есть ссылка на строку, element.scrollIntoView() вместо этого попробовать element.scrollIntoView() или, возможно, element.scrollIntoViewIfNeeded() .
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню