| W3docs | https://ru.w3docs.com/ |
| Учим HTML | https://ru.w3docs.com/learn-html |
| Учим CSS | https://ru.w3docs.com/learn-css |
| Учим JavaScript | https://ru.w3docs.com/learn-javascript |
| Учим Git | https://ru.w3docs.com/learn-git |
| Изучение Java | https://ru.w3docs.com/learn-java |
| Учим PHP | https://ru.w3docs.com/learn-php |
| Учим Python | https://ru.w3docs.com/learn-python |
| Курсы | https://ru.w3docs.com/course |
| Тесты | https://ru.w3docs.com/quiz |
| Упражнения | https://ru.w3docs.com/exercise |
| HTML Editor | https://ru.w3docs.com/tools/editor |
| Password Generator | https://ru.w3docs.com/tools/password-generator |
| HTML Encoder | https://ru.w3docs.com/tools/html-encoder |
| Code Diff | https://ru.w3docs.com/tools/code-diff |
| JSON Beautifier | https://ru.w3docs.com/tools/json-beautify |
| Все 13 → | https://ru.w3docs.com/tool |
| Color Picker | https://ru.w3docs.com/color/color-picker |
| Color Converter | https://ru.w3docs.com/color/color-converter |
| Color mixer | https://ru.w3docs.com/color/color-mixer |
| Color Hex | https://ru.w3docs.com/color/color-hex |
| Colors HSL | https://ru.w3docs.com/color/color-hsl |
| Все 10 → | https://ru.w3docs.com/tool |
| String Length Calculator | https://ru.w3docs.com/tools/string-length-calculator |
| MD5 Hash Generator | https://ru.w3docs.com/tools/string-md5-generator |
| Sha256 Hash Generator | https://ru.w3docs.com/tools/string-sha256-generator |
| String Reverse | https://ru.w3docs.com/tools/string-revers |
| URL Encoder | https://ru.w3docs.com/tools/string-url-encoder |
| Все 19 → | https://ru.w3docs.com/tool |
| Javascript Formatter | https://ru.w3docs.com/tools/formatter/javascript |
| CSS Formatter | https://ru.w3docs.com/tools/formatter/css |
| HTML Formatter | https://ru.w3docs.com/tools/formatter/html |
| Json Formatter | https://ru.w3docs.com/tools/formatter/json |
| PHP Formatter | https://ru.w3docs.com/tools/formatter/php |
| Englishen | https://www.w3docs.com/learn-javascript/javascript-coordinates |
| Deutschde | https://de.w3docs.com/learn-javascript/javascript-coordinates |
| Русскийru | https://ru.w3docs.com/learn-javascript/javascript-coordinates |
| Françaisfr | https://fr.w3docs.com/learn-javascript/javascript-coordinates |
| Españoles | https://es.w3docs.com/learn-javascript/javascript-coordinates |
| Portuguêspt | https://pt.w3docs.com/learn-javascript/javascript-coordinates |
| Italianoit | https://it.w3docs.com/learn-javascript/javascript-coordinates |
| Войти | https://ru.w3docs.com/api/auth/login |
| Учим JavaScript | https://ru.w3docs.com/learn-javascript |
| Введение | https://ru.w3docs.com/learn-javascript/javascript-intro |
| Начало работы с Javascript | https://ru.w3docs.com/learn-javascript/start-using-javascript |
| Комментарии JS | https://ru.w3docs.com/learn-javascript/javascript-comments |
| JS и DOM | https://ru.w3docs.com/learn-javascript/javascript-with-dom |
| JS Use Strict | https://ru.w3docs.com/learn-javascript/javascript-use-strict |
| Переменные JS | https://ru.w3docs.com/learn-javascript/javascript-variables |
| Типы данных JS | https://ru.w3docs.com/learn-javascript/javascript-data-types |
| Преобразование типов | https://ru.w3docs.com/learn-javascript/type-conversions |
| JS Интерактивные функции | https://ru.w3docs.com/learn-javascript/interactive-functions |
| Операторы JS | https://ru.w3docs.com/learn-javascript/operators |
| Операторы сравнения JS | https://ru.w3docs.com/learn-javascript/comparison-operators |
| Логические операторы JS | https://ru.w3docs.com/learn-javascript/logical-operators |
| Нулевое слияние (??) | https://ru.w3docs.com/learn-javascript/nullish-coalescing-operator |
| Условные операторы JS | https://ru.w3docs.com/learn-javascript/conditional-operators |
| JS Switch | https://ru.w3docs.com/learn-javascript/javascript-switch |
| Циклы JS | https://ru.w3docs.com/learn-javascript/javascript-loops |
| Функции JS | https://ru.w3docs.com/learn-javascript/javascript-functions |
| Функциональные выражения JS | https://ru.w3docs.com/learn-javascript/function-expressions |
| Стрелочные функции JS | https://ru.w3docs.com/learn-javascript/arrow-functions-the-basics |
| JS ES6 | https://ru.w3docs.com/learn-javascript/javascript-es6 |
| Объекты JS | https://ru.w3docs.com/learn-javascript/javascript-objects |
| Копирование объектов JS | https://ru.w3docs.com/learn-javascript/object-references-and-copying |
| Методы объекта JS, "this" | https://ru.w3docs.com/learn-javascript/object-methods-this |
| Сборка мусора в JS | https://ru.w3docs.com/learn-javascript/garbage-collection |
| Типы Symbol в JS | https://ru.w3docs.com/learn-javascript/symbol-types |
| Преобразование object в примитив | https://ru.w3docs.com/learn-javascript/object-to-primitive-conversion |
| Конструкторы и оператор "new" в JS | https://ru.w3docs.com/learn-javascript/constructor-operator-new |
| Опциональная цепочка (?.) | https://ru.w3docs.com/learn-javascript/optional-chaining |
| Методы примитивов в JS | https://ru.w3docs.com/learn-javascript/methods-of-primitives |
| Числа в JS | https://ru.w3docs.com/learn-javascript/numbers |
| Math в JS | https://ru.w3docs.com/learn-javascript/javascript-math |
| Строки в JS | https://ru.w3docs.com/learn-javascript/strings |
| Массивы JS | https://ru.w3docs.com/learn-javascript/javascript-array |
| Методы массивов JS | https://ru.w3docs.com/learn-javascript/array-methods |
| Итерируемые объекты JS | https://ru.w3docs.com/learn-javascript/iterables |
| JS Map и Set | https://ru.w3docs.com/learn-javascript/map-and-set |
| JS WeakMap и WeakSet | https://ru.w3docs.com/learn-javascript/weakmap-and-weakset |
| JS Object.keys, Values, Entries | https://ru.w3docs.com/learn-javascript/object-keys-values-entries |
| Деструктуризация в JS | https://ru.w3docs.com/learn-javascript/destructuring-assignment |
| JS Дата и время | https://ru.w3docs.com/learn-javascript/javascript-date |
| Методы JS JSON, toJSON | https://ru.w3docs.com/learn-javascript/working-with-json |
| Рекурсия и стек в JS | https://ru.w3docs.com/learn-javascript/recursion-and-stack |
| Rest-параметры и Spread-синтаксис | https://ru.w3docs.com/learn-javascript/rest-parameters-and-spread-syntax |
| Область видимости переменных | https://ru.w3docs.com/learn-javascript/variable-scope |
| Устаревший "var" | https://ru.w3docs.com/learn-javascript/the-old-var |
| Глобальный объект JS | https://ru.w3docs.com/learn-javascript/global-object |
| Объект функции, NFE в JS | https://ru.w3docs.com/learn-javascript/function-object-nfe |
| Синтаксис "new Function" | https://ru.w3docs.com/learn-javascript/the-new-function-syntax |
| JS setTimeout и setInterval | https://ru.w3docs.com/learn-javascript/scheduling-settimeout-and-setinterval |
| Декораторы и перенаправление: call/apply | https://ru.w3docs.com/learn-javascript/decorators-and-forwarding-call-apply |
| Debounce и Throttle | https://ru.w3docs.com/learn-javascript/debounce-and-throttle |
| Привязка функций в JS | https://ru.w3docs.com/learn-javascript/function-binding |
| Стрелочные функции JS подробнее | https://ru.w3docs.com/learn-javascript/arrow-functions-revisited |
| Замыкания JS | https://ru.w3docs.com/learn-javascript/javascript-closures |
| Флаги и дескрипторы свойств JS | https://ru.w3docs.com/learn-javascript/property-flags-and-descriptors |
| Геттеры и сеттеры свойств JS | https://ru.w3docs.com/learn-javascript/property-getters-and-setters |
| Введение в DOM | https://ru.w3docs.com/learn-javascript/javascript-html-dom |
| Узлы DOM | https://ru.w3docs.com/learn-javascript/understanding-the-dom-nodes |
| Выбор элементов DOM | https://ru.w3docs.com/learn-javascript/selecting-dom-elements |
| Работа с DOM | https://ru.w3docs.com/learn-javascript/dom-manipulation |
| Работа со стилями в DOM | https://ru.w3docs.com/learn-javascript/working-with-styles-in-dom |
| Обработка событий в DOM | https://ru.w3docs.com/learn-javascript/event-handling-in-dom |
| Обход DOM | https://ru.w3docs.com/learn-javascript/traversing-the-dom |
| Техники манипуляции DOM | https://ru.w3docs.com/learn-javascript/dom-manipulation-techniques |
| Работа с формами в DOM | https://ru.w3docs.com/learn-javascript/working-with-forms-in-dom |
| Продвинутые техники работы с DOM | https://ru.w3docs.com/learn-javascript/advanced-dom-techniques |
| Библиотеки для работы с DOM | https://ru.w3docs.com/learn-javascript/dom-manipulation-libraries |
| Совместимость DOM с браузерами | https://ru.w3docs.com/learn-javascript/dom-browser-compatibility |
| Доступность в DOM | https://ru.w3docs.com/learn-javascript/dom-accessibility-considerations |
| Отладка и инструменты | https://ru.w3docs.com/learn-javascript/dom-debugging-and-tools |
| Оптимизация производительности | https://ru.w3docs.com/learn-javascript/dom-performance-optimization |
| Интерактивные элементы и виджеты | https://ru.w3docs.com/learn-javascript/dom-nteractive-elements-and-widgets |
| Прототипное наследование JS | https://ru.w3docs.com/learn-javascript/prototypal-inheritance |
| Встроенные прототипы JS | https://ru.w3docs.com/learn-javascript/native-prototypes |
| Методы прототипов JS, объекты без `__proto__` | https://ru.w3docs.com/learn-javascript/prototype-methods-objects-without-proto |
| Базовый синтаксис классов JS | https://ru.w3docs.com/learn-javascript/class-basic-syntax |
| Наследование классов в JS | https://ru.w3docs.com/learn-javascript/class-inheritance |
| Статические свойства и методы | https://ru.w3docs.com/learn-javascript/static-properties-and-methods |
| Приватные и защищённые свойства в JS | https://ru.w3docs.com/learn-javascript/private-and-protected-properties-and-methods |
| Расширение встроенных классов JS | https://ru.w3docs.com/learn-javascript/extending-built-in-classes |
| Проверка классов в JS: "instanceof" | https://ru.w3docs.com/learn-javascript/class-checking-instanceof |
| Миксины JS | https://ru.w3docs.com/learn-javascript/mixins |
| Обработка ошибок в JS, "try..catch" | https://ru.w3docs.com/learn-javascript/error-handling-try-catch |
| Пользовательские ошибки JS, расширение Error | https://ru.w3docs.com/learn-javascript/custom-errors-extending-error |
| JS Введение: коллбэки | https://ru.w3docs.com/learn-javascript/introduction-callbacks |
| JS Promise | https://ru.w3docs.com/learn-javascript/promise |
| Цепочки промисов | https://ru.w3docs.com/learn-javascript/promises-chaining |
| Обработка ошибок в промисах | https://ru.w3docs.com/learn-javascript/error-handling-with-promises |
| Promise API | https://ru.w3docs.com/learn-javascript/promise-api |
| Промисификация | https://ru.w3docs.com/learn-javascript/promisification |
| Микрозадачи | https://ru.w3docs.com/learn-javascript/microtasks |
| async/await | https://ru.w3docs.com/learn-javascript/async-await |
| Генераторы | https://ru.w3docs.com/learn-javascript/generators |
| Асинхронные итераторы и генераторы | https://ru.w3docs.com/learn-javascript/async-iterators-and-generators |
| Модули | https://ru.w3docs.com/learn-javascript/modules-introduction |
| Export и Import | https://ru.w3docs.com/learn-javascript/export-and-import |
| Динамические импорты | https://ru.w3docs.com/learn-javascript/dynamic-imports |
| Proxy и Reflect | https://ru.w3docs.com/learn-javascript/proxy-and-reflect |
| Eval | https://ru.w3docs.com/learn-javascript/eval-run-a-code-string |
| Каррирование | https://ru.w3docs.com/learn-javascript/currying |
| BigInt | https://ru.w3docs.com/learn-javascript/bigint |
| Полифиллы и транспиляторы | https://ru.w3docs.com/learn-javascript/polyfills-and-transpilers |
| Всплывающие окна и методы window | https://ru.w3docs.com/learn-javascript/popups-and-window-methods |
| Межоконная коммуникация | https://ru.w3docs.com/learn-javascript/cross-window-communication |
| ArrayBuffer, двоичные массивы | https://ru.w3docs.com/learn-javascript/arraybuffer-binary-arrays |
| TextDecoder и TextEncoder | https://ru.w3docs.com/learn-javascript/textdecoder-and-textencoder |
| Blob | https://ru.w3docs.com/learn-javascript/javascript-blob |
| File и FileReader | https://ru.w3docs.com/learn-javascript/file-and-filereader |
| JS Streams API | https://ru.w3docs.com/learn-javascript/streams-api |
| Среда браузера, спецификации | https://ru.w3docs.com/learn-javascript/browser-environment-specs |
| Поиск: getElement*, querySelector* | https://ru.w3docs.com/learn-javascript/searching-getelement-queryselector |
| Свойства узлов: тип, тег и содержимое | https://ru.w3docs.com/learn-javascript/node-properties-type-tag-and-contents |
| Атрибуты и свойства | https://ru.w3docs.com/learn-javascript/attributes-and-properties |
| Изменение документа | https://ru.w3docs.com/learn-javascript/modifying-the-document |
| Стили и классы | https://ru.w3docs.com/learn-javascript/styles-and-classes |
| Размеры окна и прокрутка | https://ru.w3docs.com/learn-javascript/javascript-window-sizes-and-scrolling |
| Координаты | https://ru.w3docs.com/learn-javascript/javascript-coordinates |
| Введение в события браузера в JavaScript | https://ru.w3docs.com/learn-javascript/introduction-to-browser-events |
| Всплытие и перехват | https://ru.w3docs.com/learn-javascript/bubbling-and-capturing |
| Делегирование событий | https://ru.w3docs.com/learn-javascript/javascript-events |
| Действия браузера по умолчанию | https://ru.w3docs.com/learn-javascript/browser-default-actions |
| Пользовательские события | https://ru.w3docs.com/learn-javascript/dispatching-custom-events |
| Основы событий мыши | https://ru.w3docs.com/learn-javascript/mouse-events-basics |
| Перемещение мыши | https://ru.w3docs.com/learn-javascript/moving-the-mouse-mouseover-out-mouseenter-leave |
| Drag and Drop | https://ru.w3docs.com/learn-javascript/drag-and-drop-with-javascript |
| Клавиатура: keydown и keyup | https://ru.w3docs.com/learn-javascript/keyboard-keydown-and-keyup |
| Прокрутка | https://ru.w3docs.com/learn-javascript/javascript-scrolling |
| Свойства и методы форм | https://ru.w3docs.com/learn-javascript/form-properties-and-methods |
| Фокусировка: focus/blur | https://ru.w3docs.com/learn-javascript/focusing-focus-blur |
| События: change, input, cut, copy, paste | https://ru.w3docs.com/learn-javascript/events-change-input-cut-copy-paste |
| JS Clipboard API | https://ru.w3docs.com/learn-javascript/clipboard-api |
| Формы: событие и метод submit | https://ru.w3docs.com/learn-javascript/forms-event-and-method-submit |
| Page:DOMContentLoaded, load, beforeunload, unload | https://ru.w3docs.com/learn-javascript/page-domcontentloaded-load-beforeunload-unload |
| Скрипты: async, defer | https://ru.w3docs.com/learn-javascript/scripts-async-defer |
| Загрузка ресурсов: onload и onerror | https://ru.w3docs.com/learn-javascript/resource-loading-onload-and-onerror |
| Mutation Observer | https://ru.w3docs.com/learn-javascript/mutation-observer |
| JS IntersectionObserver | https://ru.w3docs.com/learn-javascript/intersection-observer |
| JS ResizeObserver | https://ru.w3docs.com/learn-javascript/resize-observer |
| Selection и Range | https://ru.w3docs.com/learn-javascript/selection-and-range |
| Цикл событий: микрозадачи и макрозадачи | https://ru.w3docs.com/learn-javascript/event-loop-microtasks-and-macrotasks |
| Canvas | https://ru.w3docs.com/learn-javascript/canvas |
| Fetch API | https://ru.w3docs.com/learn-javascript/fetch-api |
| FormData | https://ru.w3docs.com/learn-javascript/javascript-formdata |
| Fetch: прогресс загрузки | https://ru.w3docs.com/learn-javascript/fetch-download-progress |
| Fetch: прерывание запроса | https://ru.w3docs.com/learn-javascript/fetch-abort |
| Fetch: межсайтовые запросы | https://ru.w3docs.com/learn-javascript/javascript-fetch-cross-origin-requests |
| URL-объекты | https://ru.w3docs.com/learn-javascript/url-objects |
| XMLHttpRequest | https://ru.w3docs.com/learn-javascript/xmlhttprequest |
| JS Server-Sent Events | https://ru.w3docs.com/learn-javascript/server-sent-events |
| Возобновляемая загрузка файлов | https://ru.w3docs.com/learn-javascript/resumable-file-upload |
| Cookies: document.cookie | https://ru.w3docs.com/learn-javascript/cookies-document-cookie |
| LocalStorage, SessionStorage | https://ru.w3docs.com/learn-javascript/localstorage-sessionstorage |
| IndexedDB | https://ru.w3docs.com/learn-javascript/javascript-indexeddb |
| CSS-анимации | https://ru.w3docs.com/learn-javascript/css-animations |
| Анимации на JavaScript | https://ru.w3docs.com/learn-javascript/javascript-animations |
| Web Components | https://ru.w3docs.com/learn-javascript/web-components |
| Пользовательские элементы | https://ru.w3docs.com/learn-javascript/custom-elements |
| Shadow DOM | https://ru.w3docs.com/learn-javascript/javascript-shadow-dom |
| Элемент Template | https://ru.w3docs.com/learn-javascript/template-element |
| Слоты и композиция Shadow DOM | https://ru.w3docs.com/learn-javascript/shadow-dom-slots-composition |
| Стилизация Shadow DOM | https://ru.w3docs.com/learn-javascript/shadow-dom-styling |
| Shadow DOM и события | https://ru.w3docs.com/learn-javascript/shadow-dom-and-events |
| Regex в JS | https://ru.w3docs.com/learn-javascript/regex |
| Шаблоны и флаги | https://ru.w3docs.com/learn-javascript/patterns-and-flags |
| Классы символов | https://ru.w3docs.com/learn-javascript/character-classes |
| Unicode: флаг "u" и класс \p{...} | https://ru.w3docs.com/learn-javascript/unicode-flag-u-and-class-p |
| Якоря: начало ^ и конец строки $ | https://ru.w3docs.com/learn-javascript/anchors-string-start-and-end |
| Многострочный режим якорей ^ $, флаг "m" | https://ru.w3docs.com/learn-javascript/multiline-mode-of-anchors-flag-m |
| Граница слова: \b | https://ru.w3docs.com/learn-javascript/word-boundary-b |
| Экранирование, специальные символы | https://ru.w3docs.com/learn-javascript/escaping-special-characters |
| Наборы и диапазоны [...] | https://ru.w3docs.com/learn-javascript/javascript-sets-and-ranges |
| Квантификаторы +, *, ? и {n} | https://ru.w3docs.com/learn-javascript/quantifiers-and-n |
| Жадные и ленивые квантификаторы | https://ru.w3docs.com/learn-javascript/greedy-and-lazy-quantifiers |
| Захватывающие группы | https://ru.w3docs.com/learn-javascript/capturing-groups |
| Обратные ссылки: \n и \k | https://ru.w3docs.com/learn-javascript/backreferences-in-pattern-n-and-k-name |
| Чередование в JavaScript (OR) | https://ru.w3docs.com/learn-javascript/javascript-alternation-or |
| Опережающая и ретроспективная проверка | https://ru.w3docs.com/learn-javascript/lookahead-and-lookbehind |
| Катастрофический откат | https://ru.w3docs.com/learn-javascript/catastrophic-backtracking |
| Флаг sticky «y», поиск по позиции | https://ru.w3docs.com/learn-javascript/sticky-flag-y-searching-at-position |
| Методы RegExp и String | https://ru.w3docs.com/learn-javascript/javascript-regexp |
| Web Animations API | https://ru.w3docs.com/learn-javascript/animations-api |
| File API | https://ru.w3docs.com/learn-javascript/file-api |
| Battery API | https://ru.w3docs.com/learn-javascript/battery-api |
| WebGL | https://ru.w3docs.com/learn-javascript/webgl |
| Push API | https://ru.w3docs.com/learn-javascript/push-api |
| Screen Orientation API | https://ru.w3docs.com/learn-javascript/screen-orientation-api |
| History API | https://ru.w3docs.com/learn-javascript/history-api |
| Console API | https://ru.w3docs.com/learn-javascript/console-api |
| Fullscreen API | https://ru.w3docs.com/learn-javascript/fullscreen-api |
| Validation API | https://ru.w3docs.com/learn-javascript/validation-api |
| Web Storage API | https://ru.w3docs.com/learn-javascript/storage-api |
| Web MIDI API | https://ru.w3docs.com/learn-javascript/web-midi-api |
| JS Web Workers | https://ru.w3docs.com/learn-javascript/web-workers |
| Service Workers | https://ru.w3docs.com/learn-javascript/service-workers |
| WebSockets | https://ru.w3docs.com/learn-javascript/websockets |
| Геолокация | https://ru.w3docs.com/learn-javascript/geolocation |
| WebRTC | https://ru.w3docs.com/learn-javascript/webrtc |
| Web Audio API | https://ru.w3docs.com/learn-javascript/web-audio-api |
| Notifications API | https://ru.w3docs.com/learn-javascript/notifications-api |
| Vibration API | https://ru.w3docs.com/learn-javascript/the-vibration-api |
| JS Intl API | https://ru.w3docs.com/learn-javascript/intl-api |
| Размеры окна и прокрутка в JavaScript | https://ru.w3docs.com/learn-javascript/javascript-window-sizes-and-scrolling |
| Прокрутка в JavaScript | https://ru.w3docs.com/learn-javascript/javascript-scrolling |
| Основы событий мыши | https://ru.w3docs.com/learn-javascript/mouse-events-basics |
| Попробуйте сами » | https://ru.w3docs.com/tools/editor#code=PCFET0NUWVBFIGh0bWw-CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ-CiAgICA8dGl0bGU-Q2xpZW50LVNpZGUgQ29vcmRpbmF0ZXMgRXhhbXBsZTwvdGl0bGU-CiAgICA8c3R5bGU-CiNjb250YWluZXIgewogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTAwJTsKICBiYWNrZ3JvdW5kLWNvbG9yOiBncmV5OwogIG1pbi1oZWlnaHQ6IDQwcHg7Cn0KICAgIDwvc3R5bGU-CjwvaGVhZD4KPGJvZHkgc3R5bGU9ImhlaWdodDogMjAwMHB4OyI-CiAgICA8ZGl2IGlkPSJjb250YWluZXIiPkNsaWNrIGFueXdoZXJlIGluIHRoZSBncmV5IGFyZWEgdG8gc2VlIENsaWVudC1TaWRlIGNvb3JkaW5hdGVzITwvZGl2PgogICAgPHNjcmlwdD4KICAgICAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJyk7CiAgICAgICAgZnVuY3Rpb24gc2hvd0Nvb3JkcyhldmVudCkgewogICAgICAgICAgICBhbGVydCgiQ2xpZW50LVNpZGUgWDogIiArIGV2ZW50LmNsaWVudFggKyAiLCBZOiAiICsgZXZlbnQuY2xpZW50WSk7CiAgICAgICAgfQogICAgICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHNob3dDb29yZHMpOwogICAgPC9zY3JpcHQ-CjwvYm9keT4KPC9odG1sPg&lang=html |
| Попробуйте сами » | https://ru.w3docs.com/tools/editor#code=PCFET0NUWVBFIGh0bWw-CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ-CiAgICA8dGl0bGU-UGFnZS1TaWRlIENvb3JkaW5hdGVzIEV4YW1wbGU8L3RpdGxlPgogICAgPHN0eWxlPgojY29udGFpbmVyIHsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsKICBtaW4taGVpZ2h0OiA0MHB4Owp9CiAgICA8L3N0eWxlPgo8L2hlYWQ-Cjxib2R5IHN0eWxlPSJoZWlnaHQ6IDIwMDBweDsiPgogICAgPGRpdiBpZD0iY29udGFpbmVyIj5DbGljayBhbnl3aGVyZSBpbiB0aGlzIGFyZWEgdG8gc2VlIFBhZ2UtU2lkZSBjb29yZGluYXRlcyE8L2Rpdj4KICAgIDxzY3JpcHQ-CiAgICAgICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwogICAgICAgIGZ1bmN0aW9uIHNob3dQYWdlQ29vcmRzKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIHBhZ2VYL3BhZ2VZIGFscmVhZHkgaW5jbHVkZSBzY3JvbGw7IHRoZSBtYW51YWwgdmVyc2lvbiBtdXN0IG1hdGNoCiAgICAgICAgICAgIGNvbnN0IG1hbnVhbFggPSBldmVudC5jbGllbnRYICsgd2luZG93LnNjcm9sbFg7CiAgICAgICAgICAgIGNvbnN0IG1hbnVhbFkgPSBldmVudC5jbGllbnRZICsgd2luZG93LnNjcm9sbFk7CiAgICAgICAgICAgIGFsZXJ0KCJwYWdlWC9ZOiAiICsgZXZlbnQucGFnZVggKyAiLCAiICsgZXZlbnQucGFnZVkgKwogICAgICAgICAgICAgICAgICAiXG5jbGllbnRYK3Njcm9sbFg6ICIgKyBtYW51YWxYICsgIiwgIiArIG1hbnVhbFkpOwogICAgICAgIH0KICAgICAgICBjb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBzaG93UGFnZUNvb3Jkcyk7CiAgICA8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw-&lang=html |
| Попробуйте сами » | https://ru.w3docs.com/tools/editor#code=PCFET0NUWVBFIGh0bWw-CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ-CiAgICA8dGl0bGU-RHJhZ2dhYmxlIEVsZW1lbnQgRXhhbXBsZTwvdGl0bGU-CiAgICA8c3R5bGU-CiAgICAgICAgI2RyYWdnYWJsZSB7CiAgICAgICAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOwogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CiAgICA8L3N0eWxlPgo8L2hlYWQ-Cjxib2R5PgogICAgPGRpdiBpZD0iZHJhZ2dhYmxlIj48L2Rpdj4KICAgIDxzY3JpcHQ-CiAgICAgICAgY29uc3QgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkcmFnZ2FibGUnKTsKICAgICAgICBsZXQgc2hpZnRYLCBzaGlmdFk7CgogICAgICAgIGZ1bmN0aW9uIG9uTW91c2VEb3duKGV2ZW50KSB7CiAgICAgICAgICAgIHNoaWZ0WCA9IGV2ZW50LmNsaWVudFggLSBlbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQ7CiAgICAgICAgICAgIHNoaWZ0WSA9IGV2ZW50LmNsaWVudFkgLSBlbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDsKCiAgICAgICAgICAgIGZ1bmN0aW9uIG1vdmVBdChwYWdlWCwgcGFnZVkpIHsKICAgICAgICAgICAgICAgIGVsZW0uc3R5bGUubGVmdCA9IHBhZ2VYIC0gc2hpZnRYICsgJ3B4JzsKICAgICAgICAgICAgICAgIGVsZW0uc3R5bGUudG9wID0gcGFnZVkgLSBzaGlmdFkgKyAncHgnOwogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBvbk1vdXNlTW92ZShldmVudCkgewogICAgICAgICAgICAgICAgbW92ZUF0KGV2ZW50LmNsaWVudFggKyB3aW5kb3cuc2Nyb2xsWCwgZXZlbnQuY2xpZW50WSArIHdpbmRvdy5zY3JvbGxZKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgb25Nb3VzZU1vdmUpOwogICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgZnVuY3Rpb24gc3RvcERyYWcoKSB7CiAgICAgICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBvbk1vdXNlTW92ZSk7CiAgICAgICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgc3RvcERyYWcpOwogICAgICAgICAgICAgICAgZWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBvbk1vdXNlRG93bik7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KCiAgICAgICAgZWxlbS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBvbk1vdXNlRG93bik7CiAgICAgICAgZWxlbS5hZGRFdmVudExpc3RlbmVyKCdkcmFnc3RhcnQnLCBmdW5jdGlvbigpIHsgcmV0dXJuIGZhbHNlOyB9KTsKICAgIDwvc2NyaXB0Pgo8L2JvZHk-CjwvaHRtbD4&lang=html |
| Попробуйте сами » | https://ru.w3docs.com/tools/editor#code=PCFET0NUWVBFIGh0bWw-CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ-CiAgICA8dGl0bGU-QW5pbWF0aW9uIFVzaW5nIENvb3JkaW5hdGVzPC90aXRsZT4KPC9oZWFkPgo8Ym9keT4KICAgIDxkaXYgaWQ9ImFuaW1hdGVNZSIgc3R5bGU9IndpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQ6IGJsdWU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsiPjwvZGl2PgogICAgPGJ1dHRvbiBpZD0ic3RvcEJ0biI-U3RvcCBBbmltYXRpb248L2J1dHRvbj4KICAgIDxzY3JpcHQ-CiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FuaW1hdGVNZScpOwogICAgICAgIGNvbnN0IHN0b3BCdG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3RvcEJ0bicpOwogICAgICAgIGxldCBwb3MgPSAwOwogICAgICAgIGxldCBpc1J1bm5pbmcgPSB0cnVlOwogICAgICAgIGxldCBsYXN0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpOwoKICAgICAgICBmdW5jdGlvbiBhbmltYXRlKGN1cnJlbnRUaW1lKSB7CiAgICAgICAgICAgIGlmICghaXNSdW5uaW5nKSByZXR1cm47CiAgICAgICAgICAgIGNvbnN0IGRlbHRhID0gKGN1cnJlbnRUaW1lIC0gbGFzdFRpbWUpIC8gMTY7IC8vIE5vcm1hbGl6ZSB0byB-NjBmcHMKICAgICAgICAgICAgbGFzdFRpbWUgPSBjdXJyZW50VGltZTsKICAgICAgICAgICAgaWYgKHBvcyA-PSAzNTApIHsKICAgICAgICAgICAgICAgIHBvcyA9IDA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcG9zICs9IGRlbHRhOwogICAgICAgICAgICB0YXJnZXQuc3R5bGUubGVmdCA9IHBvcyArICdweCc7CiAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShhbmltYXRlKTsKICAgICAgICB9CgogICAgICAgIHN0b3BCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7IGlzUnVubmluZyA9IGZhbHNlOyB9KTsKICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoYW5pbWF0ZSk7CiAgICA8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw-&lang=html |
| CSS-анимации | https://ru.w3docs.com/learn-css/animation |
| Размеры окна и прокрутка | https://ru.w3docs.com/learn-javascript/javascript-window-sizes-and-scrolling |
| Прокрутка | https://ru.w3docs.com/learn-javascript/javascript-scrolling |
| Основы событий мыши | https://ru.w3docs.com/learn-javascript/mouse-events-basics |
| ← PreviousРазмеры окна и прокрутка | https://ru.w3docs.com/learn-javascript/javascript-window-sizes-and-scrolling |
| Next →Введение в события браузера в JavaScript | https://ru.w3docs.com/learn-javascript/introduction-to-browser-events |
| Две системы координат | https://ru.w3docs.com/learn-javascript/javascript-coordinates#две-системы-координат |
| Считывание координат из события мыши | https://ru.w3docs.com/learn-javascript/javascript-coordinates#считывание-координат-из-события-мыши |
| Считывание позиции элемента: getBoundingClientRect() | https://ru.w3docs.com/learn-javascript/javascript-coordinates#считывание-позиции-элемента-getboundingclientrect |
| Поиск элемента по координатам: elementFromPoint() | https://ru.w3docs.com/learn-javascript/javascript-coordinates#поиск-элемента-по-координатам-elementfrompoint |
| Управление позицией элементов с помощью координат | https://ru.w3docs.com/learn-javascript/javascript-coordinates#управление-позицией-элементов-с-помощью-координат |
| Анимация с использованием координат | https://ru.w3docs.com/learn-javascript/javascript-coordinates#анимация-с-использованием-координат |
| Заключение | https://ru.w3docs.com/learn-javascript/javascript-coordinates#заключение |
| Практика | https://ru.w3docs.com/learn-javascript/javascript-coordinates#практика |
| https://x.com/w3docs |
| https://github.com/w3docs |
| https://linkedin.com/company/w3docs |
| Учим HTML | https://ru.w3docs.com/learn-html |
| Учим CSS | https://ru.w3docs.com/learn-css |
| Учим JavaScript | https://ru.w3docs.com/learn-javascript |
| Учим Git | https://ru.w3docs.com/learn-git |
| Изучение Java | https://ru.w3docs.com/learn-java |
| Учим PHP | https://ru.w3docs.com/learn-php |
| Учим Python | https://ru.w3docs.com/learn-python |
| Упражнения | https://ru.w3docs.com/exercise |
| Тесты | https://ru.w3docs.com/quiz |
| Редактор Try-it | https://ru.w3docs.com/tools/editor |
| HTML Editor | https://ru.w3docs.com/tools/editor |
| Password Generator | https://ru.w3docs.com/tools/password-generator |
| HTML Encoder | https://ru.w3docs.com/tools/html-encoder |
| Code Diff | https://ru.w3docs.com/tools/code-diff |
| JSON Beautifier | https://ru.w3docs.com/tools/json-beautify |
| О нас | https://ru.w3docs.com/about |
| Контакты | https://ru.w3docs.com/contact |
| Политика конфиденциальности | https://ru.w3docs.com/privacy |
| English | https://www.w3docs.com/learn-javascript/javascript-coordinates |
| Deutsch | https://de.w3docs.com/learn-javascript/javascript-coordinates |
| Русский | https://ru.w3docs.com/learn-javascript/javascript-coordinates |
| Français | https://fr.w3docs.com/learn-javascript/javascript-coordinates |
| Español | https://es.w3docs.com/learn-javascript/javascript-coordinates |
| Português | https://pt.w3docs.com/learn-javascript/javascript-coordinates |
| Italiano | https://it.w3docs.com/learn-javascript/javascript-coordinates |