From 63002082a5cb96a75a5c6979b15e35ccaed17529 Mon Sep 17 00:00:00 2001 From: Ilya Kantor Date: Thu, 25 Jun 2015 00:17:34 +0300 Subject: [PATCH] fixes #34 --- .../16-metrics-window/1-pageyoffset-polyfill/solution.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/2-ui/1-document/16-metrics-window/1-pageyoffset-polyfill/solution.md b/2-ui/1-document/16-metrics-window/1-pageyoffset-polyfill/solution.md index f337c5e9..9ed5a847 100644 --- a/2-ui/1-document/16-metrics-window/1-pageyoffset-polyfill/solution.md +++ b/2-ui/1-document/16-metrics-window/1-pageyoffset-polyfill/solution.md @@ -15,11 +15,9 @@ window.pageYOffset = document.documentElement.scrollTop; alert( window.pageYOffset ); ``` -Код выше не учитывает текущую прокрутку. Он присваивает `window.pageYOffset` один раз и в дальнейшем, чтобы получить текущую прокрутку, нужно снова обратиться к `document.documentElement.scrollTop` не меняет его. А задача как раз -- сделать полифилл, то есть дать возможность использовать `window.pageYOffset` для получения текущего состояния прокрутки без "танцев бубном", так же как в современных браузерах. +Код выше не учитывает текущую прокрутку. Он присваивает `window.pageYOffset` текущую прокрутку, но при её изменении -- не обновляет это свойство автоматически, а поэтому -- бесполезен. -Для этого создадим свойство через геттер. - -В IE8 для DOM-объектов работает `Object.defineProperty`: +Более правильное решение -- сделать это свойство геттером. При этом в IE8 для DOM-объектов работает `Object.defineProperty`: ```js //+ run