diff --git a/1-js/1-getting-started/1-intro/article.md b/1-js/1-getting-started/1-intro/article.md index f26c9dea..924b36d6 100644 --- a/1-js/1-getting-started/1-intro/article.md +++ b/1-js/1-getting-started/1-intro/article.md @@ -22,14 +22,14 @@ JavaScript может выполняться не только в браузере, а где угодно, нужна лишь специальная программа -- [интерпретатор](http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D1%80%D0%B5%D1%82%D0%B0%D1%82%D0%BE%D1%80). Процесс выполнения скрипта называют "интерпретацией". [smart header="Компиляция и интерпретация, для программистов"] -Строго говоря, для выполнения программ существуют "компиляторы" и "интерпретаторы". +Для выполнения произвольных программ, не существуют два способа: "компиляция" и "интерпретация". -Современные интерпретаторы перед выполнением преобразуют JavaScript в машинный код или близко к нему, а уже затем выполняют. Поэтому JavaScript в них работает очень быстро. +Современные интерпретаторы перед выполнением преобразуют JavaScript в машинный код или близко к нему, оптимизируют, а уже затем выполняют. И даже во время выполнения стараются оптимизировать. Поэтому JavaScript работает очень быстро. [/smart] Во все основные браузеры встроен интерпретатор JavaScript, именно поэтому они могут выполнять скрипты на странице. diff --git a/2-ui/1-document/12-multi-insert/article.md b/2-ui/1-document/12-multi-insert/article.md index c8c47401..efe5ef4d 100644 --- a/2-ui/1-document/12-multi-insert/article.md +++ b/2-ui/1-document/12-multi-insert/article.md @@ -54,7 +54,7 @@ document.body.appendChild(ul); // затем в документ
-Код для тестов находится в файле [](insert-bench.js). +Код для тестов находится в файле [insert-bench.js](insert-bench.js). [/online] ## Добавление множества узлов diff --git a/2-ui/1-document/14-styles-and-classes/article.md b/2-ui/1-document/14-styles-and-classes/article.md index a4bc5c62..cd73976a 100644 --- a/2-ui/1-document/14-styles-and-classes/article.md +++ b/2-ui/1-document/14-styles-and-classes/article.md @@ -2,18 +2,18 @@ Эта глава -- о свойствах стиля, получении о них информации и изменении при помощи JavaScript. -Перед прочтением убедитесь, что хорошо знакомы с блочной моделью CSS и понимаете, что такое `padding`, `margin`, `border`. +Перед прочтением убедитесь, что хорошо знакомы с [блочной моделью CSS](http://www.w3.org/TR/CSS2/box.html) и понимаете, что такое `padding`, `margin`, `border`. [cut] -## Объект стилей style +## Стили элемента: свойство style Объект `element.style` дает доступ к стилю элемента на чтение и запись. С его помощью можно изменять большинство CSS-свойств, например `element.style.width="100px"` работает так, как будто у элемента в атрибуте прописано `style="width:100px"`. [warn header="Единицы измерения обязательны в `style`"] -Об этом иногда забывают, но в `style` так же, как и в CSS, нужно указывать единицы измерения, например `px`. +Об этом иногда забывают, но в `style` так же, как и в CSS, нужно указывать единицы измерения, например `px`. Ни в коем случае не просто `elem.style.width = 100` -- работать не будет. [/warn] @@ -97,7 +97,7 @@ setTimeout(function() { [/warn] -## Строка стилей style.cssText +### Строка стилей style.cssText Свойство `style` является специальным объектом, ему нельзя присваивать строку. @@ -135,7 +135,7 @@ setTimeout(function() { Свойство `style.cssText` используют, например, для новосозданных элементов, когда старых стилей точно нет. -## Чтение стиля из style +### Чтение стиля из style Записать в стиль очень просто. А как прочитать? @@ -162,7 +162,7 @@ setTimeout(function() { ``` -## Стиль из getComputedStyle +## Полный стиль из getComputedStyle Итак, свойство `style` дает доступ только к той информации, которая хранится в `elem.style`. diff --git a/2-ui/1-document/6-searching-elements-internals/3-benchmark-search-dom/solution.md b/2-ui/1-document/6-searching-elements-internals/3-benchmark-search-dom/solution.md index 76d0cd59..b115b3c9 100644 --- a/2-ui/1-document/6-searching-elements-internals/3-benchmark-search-dom/solution.md +++ b/2-ui/1-document/6-searching-elements-internals/3-benchmark-search-dom/solution.md @@ -28,5 +28,4 @@ alert( bench(runGet, 10000) ); // вывести время 1000*runGet Более правильный тест -- это не только запустить поиск, но и получить все элементы, как это делается в реальной жизни. -[edit src="solution"]Полное решение[/edit] diff --git a/2-ui/2-events-and-interfaces/1-introduction-browser-events/4-sliding-menu/solution.md b/2-ui/2-events-and-interfaces/1-introduction-browser-events/4-sliding-menu/solution.md index 85a53f25..c4e99bb7 100644 --- a/2-ui/2-events-and-interfaces/1-introduction-browser-events/4-sliding-menu/solution.md +++ b/2-ui/2-events-and-interfaces/1-introduction-browser-events/4-sliding-menu/solution.md @@ -71,4 +71,3 @@ CSS для меню: Теперь сделайте JavaScript. -[edit src="solution"]Полное решение в песочнице[/edit] \ No newline at end of file diff --git a/2-ui/2-events-and-interfaces/1-introduction-browser-events/6-carousel/solution.md b/2-ui/2-events-and-interfaces/1-introduction-browser-events/6-carousel/solution.md index e9c4924f..9d463faa 100644 --- a/2-ui/2-events-and-interfaces/1-introduction-browser-events/6-carousel/solution.md +++ b/2-ui/2-events-and-interfaces/1-introduction-browser-events/6-carousel/solution.md @@ -1,4 +1,3 @@ -# HTML/CSS Лента изображений должна быть оформлена как список, согласно принципам семантической вёрстки. Нужно стилизовать его так, чтобы он был длинной лентой, из которой внешний `DIV` вырезает нужную часть для просмотра: @@ -23,5 +22,4 @@ Реализуйте эту структуру, и к ней прикручивайте обработчики, которые меняют `ul.style.marginLeft`. -# Полное решение diff --git a/2-ui/2-events-and-interfaces/5-event-delegation/2-sliding-tree/solution.md b/2-ui/2-events-and-interfaces/5-event-delegation/2-sliding-tree/solution.md index 5726f23d..68df24dc 100644 --- a/2-ui/2-events-and-interfaces/5-event-delegation/2-sliding-tree/solution.md +++ b/2-ui/2-events-and-interfaces/5-event-delegation/2-sliding-tree/solution.md @@ -106,4 +106,3 @@ tree.onclick = function(event) { Выделение узлов жирным при наведении делается при помощи CSS-селектора `:hover`. -[edit src="solution"]Полное решение[/edit] \ No newline at end of file diff --git a/2-ui/2-events-and-interfaces/7-default-browser-action/2-catch-link-navigation/solution.md b/2-ui/2-events-and-interfaces/7-default-browser-action/2-catch-link-navigation/solution.md index 81aa6a91..b653e648 100644 --- a/2-ui/2-events-and-interfaces/7-default-browser-action/2-catch-link-navigation/solution.md +++ b/2-ui/2-events-and-interfaces/7-default-browser-action/2-catch-link-navigation/solution.md @@ -26,4 +26,3 @@ contents.onclick = function(evt) { В строке `(*)` используется атрибут, а не свойство `href`, чтобы показать в `confirm` именно то, что написано в HTML-атрибуте, так как свойство может отличаться, оно обязано содержать полный валидный адрес. -[edit src="solution"]Полное решение[/edit]. diff --git a/2-ui/2-events-and-interfaces/7-default-browser-action/3-image-gallery/solution.md b/2-ui/2-events-and-interfaces/7-default-browser-action/3-image-gallery/solution.md index 856b4204..46556299 100644 --- a/2-ui/2-events-and-interfaces/7-default-browser-action/3-image-gallery/solution.md +++ b/2-ui/2-events-and-interfaces/7-default-browser-action/3-image-gallery/solution.md @@ -54,4 +54,3 @@ for(var i=0; iЭлемент с подсказкой *позиционируется* при показе, а не при создании? Ведь элемент, на котором стоит подсказка, может менять своё положение. -# Код решения - -[edit src="solution"]Полное решение в песочнице[/edit] \ No newline at end of file diff --git a/2-ui/5-widgets/6-widget-tasks/6-slider-events/solution.md b/2-ui/5-widgets/6-widget-tasks/6-slider-events/solution.md index 1fe2d517..a51add2a 100644 --- a/2-ui/5-widgets/6-widget-tasks/6-slider-events/solution.md +++ b/2-ui/5-widgets/6-widget-tasks/6-slider-events/solution.md @@ -1,4 +1,3 @@ -# Сопоставление значения и слайдера Как сопоставить позицию слайдера и значение? @@ -24,5 +23,4 @@ pixelsPerValue = (sliderElem.clientWidth-thumbElem.clientWidth) / max; value = Math.round( newLeft / pixelsPerValue); ``` -# Полное решение diff --git a/3-more/11-css-for-js/4-float/3-paginator-css/solution.md b/3-more/11-css-for-js/4-float/3-paginator-css/solution.md index f19a84c0..0202d4cb 100644 --- a/3-more/11-css-for-js/4-float/3-paginator-css/solution.md +++ b/3-more/11-css-for-js/4-float/3-paginator-css/solution.md @@ -96,4 +96,3 @@ HTML-структура: Если хочется сделать красивее для двух строк, то можно использовать другой способ центрирования. -[edit src="solution"]Полное решение[/edit] \ No newline at end of file diff --git a/3-more/2-animation/1-js-animation/3-animate-ball/solution.md b/3-more/2-animation/1-js-animation/3-animate-ball/solution.md index 05b9bbe1..4a367c2b 100644 --- a/3-more/2-animation/1-js-animation/3-animate-ball/solution.md +++ b/3-more/2-animation/1-js-animation/3-animate-ball/solution.md @@ -25,4 +25,3 @@ img.onclick = function() { } ``` -[edit src="solution"]Полное решение[/edit] \ No newline at end of file diff --git a/3-more/2-animation/1-js-animation/4-animate-ball-hops/solution.md b/3-more/2-animation/1-js-animation/4-animate-ball-hops/solution.md index ffe2ef02..5e89693b 100644 --- a/3-more/2-animation/1-js-animation/4-animate-ball-hops/solution.md +++ b/3-more/2-animation/1-js-animation/4-animate-ball-hops/solution.md @@ -33,5 +33,3 @@ img.onclick = function() { */!* } ``` - -[edit src="solution"]Полное решение[/edit] \ No newline at end of file