Обычно элемент <html>
, он же document.documentElement
.Однако, если вы используете режим Quirks, <body>
(document.body
) представляет вместо этого область просмотра.(HTML / CSS явно не заявляет / не требует этого, но так работают все современные браузеры.)
Вы никогда не захотите находиться в режиме Quirks, но если вы пишете скрипт дляПри включении на чужие страницы вам придется иметь дело с этим:
var viewport= document.compatMode==='BackCompat'? document.body : document.documentElement;
// do something with viewport.scrollTop
jQuery использует window.scrollTo()
вместо прямой установки свойств прокрутки.В любом случае на практике все почти одинаково.Вы могли бы утверждать, что использование scrollTo
немного чище, поскольку оно избегает полагаться на область просмотра, представленную определенным элементом, но тогда jQuery по-прежнему должен использовать scrollTop
/ scrollLeft
для чтения текущего значения 'otherсобственность в любом случае, так что нет большой победы.Вы можете использовать pageXOffset
/ pageYOffset
, чтобы прочитать текущую позицию прокрутки, не полагаясь на конкретный элемент, но это не поддерживается везде, поэтому вам все же придется вернуться к методу scrollTop
.
К сожалению, ни одно из этих свойств / методов не было стандартизировано в прошлом. CSSOM Views наконец-то исправим это.