Skip to content

Commit b0f4595

Browse files
authored
rebase
1 parent 9031688 commit b0f4595

File tree

1 file changed

+30
-18
lines changed
  • 2-ui/1-document/10-size-and-scroll-window

1 file changed

+30
-18
lines changed

2-ui/1-document/10-size-and-scroll-window/article.md

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -109,24 +109,36 @@ alert('Текущая прокрутка слева: ' + window.pageXOffset);
109109
<button onclick="window.scrollTo(0,0)">window.scrollTo(0,0)</button>
110110
```
111111
112-
Эти методы одинаково работают для всех браузеров.
112+
В обоих методах вместо координат также может использоваться объект `options`, как аргумент:
113113
114-
scrollTo/scrollBy могут иметь options, как аргумент:
115-
element.scrollTo(options).
114+
```js
115+
window.scrollTo(options);
116+
window.scrollBy(options);
117+
```
116118
117-
options - объект с тремя свойствами:
119+
`options` поддерживает три свойства:
118120
119121
```js
120-
element.scrollTo({`
122+
window.scrollTo({
121123
top: 100,
122-
left: 100,
124+
left: 0,
123125
behavior: "smooth"
124126
});
125127
```
126128
127-
где behavior: "smooth" означает плавную прокрутку. Принимает значения "auto" или "smooth". По умолчанию "auto" - то есть, без плавной прокрутки.
129+
- `top` -- то же самое, что `y`/`pageY`
130+
- `left` -- то же самое, что `x`/`pageX`
131+
- `behavior` -- определяет, каким образом будет прокручиваться страница:
132+
133+
- `"smooth"` -- плавно (не поддерживается в Safari)
134+
- `"instant"` -- мгновенно
135+
- `"auto"` -- определяется браузером (зависит от CSS-свойства [scroll-behavior](https://developer.mozilla.org/ru/docs/Web/CSS/scroll-behavior))
136+
137+
```online
138+
Демонстрация плавной прокрутки страницы (в Safari прокрутка будет мгновенной):
128139
129-
Не поддерживается только в IE.
140+
<button onclick="window.scrollTo({ top: 500, left: 0, behavior: "smooth" })">window.scrollTo({ top: 500, left: 0, behavior: "smooth" })</button>
141+
```
130142
131143
## scrollIntoView
132144
@@ -148,22 +160,22 @@ element.scrollTo({`
148160
<button onclick="this.scrollIntoView(false)">this.scrollIntoView(false)</button>
149161
```
150162
151-
scrollIntoView также может иметь options, как аргумент:
152-
element.scrollIntoView(options).
163+
Как и `scrollTo`/`scrollBy`, `scrollIntoView` также принимает объект `options` как аргумент (он немного отличается):
153164
154-
options - объект с тремя свойствами:
165+
```js
166+
this.scrollIntoView(options).
167+
```
155168
156-
- behavior - Анимация прокрутки. Принимает значения "auto" или "smooth". По умолчанию "auto".
157-
- block - Вертикальное выравнивание. Одно из значений: "start", "center", "end" или "nearest". По умолчанию "start".
158-
- inline - Горизонтальное выравнивание. Одно из значений: "start", "center", "end" или "nearest". По умолчанию "nearest".
169+
`options` поддерживает три свойства:
159170
160171
```js
161-
elem.scrollIntoView({block: "center", behavior: "smooth"});
172+
this.scrollIntoView({
173+
behavior: "smooth",
174+
block: "end",
175+
inline: "nearest"
176+
});
162177
```
163178
164-
behavior: "smooth" не поддерживается в IE и Safari, но начиная с версии 16.0 в Safari появилась поддержка behavior:
165-
"smooth".
166-
167179
## Запретить прокрутку
168180
169181
Иногда нам нужно сделать документ "непрокручиваемым". Например, при показе большого диалогового окна над документом – чтобы посетитель мог прокручивать это окно, но не документ.

0 commit comments

Comments
 (0)