SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
JavaScript в БЭМ-терминах
                   Варвара Степанова




                   YAC-2011, Москва, 19 сентября 2011 года



Wednesday, October 5, 2011
clck.ru/L45C
                                шпаргалка к мастер-классу
                             JavaScript в терминах БЭМ




Wednesday, October 5, 2011
Блоки и элементы




                   3

Wednesday, October 5, 2011
Модификаторы




                   4

Wednesday, October 5, 2011
Уровни переопределения




                   5

Wednesday, October 5, 2011
Составные блоки




                   6

Wednesday, October 5, 2011
JS-реализация блока i-bem




                   7

Wednesday, October 5, 2011
Features
                   Некоторые особенности




                   8

Wednesday, October 5, 2011
Features
                   Некоторые особенности

                    Декларативный стиль




                   9

Wednesday, October 5, 2011
Features
                   Некоторые особенности

                    Декларативный стиль
                    Отложенная инициализация




                   10

Wednesday, October 5, 2011
Features
                   Некоторые особенности

                    Декларативный стиль
                    Отложенная инициализация
                    Использование вложенных блоков




                   11

Wednesday, October 5, 2011
Features
                   Некоторые особенности

                    Декларативный стиль
                    Отложенная инициализация
                    Использование вложенных блоков
                    Реакция на изменение модификаторов




                   12

Wednesday, October 5, 2011
Features
                   Некоторые особенности

                    Декларативный стиль
                    Отложенная инициализация
                    Использование вложенных блоков
                    Реакция на изменение модификаторов
                    Расширение поведения модификаторами и уровнями
                    переопределения

                   13

Wednesday, October 5, 2011
Что будем делать?




                   14

Wednesday, October 5, 2011
Блок-cut
                   b-cut




                   15

Wednesday, October 5, 2011
Блок-cut
                   b-cut




                   16

Wednesday, October 5, 2011
Инструменты и окружение




                   17

Wednesday, October 5, 2011
Инструменты и окружение

                    Локальный web-сервер
                    БЭМ-инструменты
                             github.com/bem/bem-tools
                             или clck.ru/Kz8v




                   18

Wednesday, October 5, 2011
Инициализация проекта




                   19

Wednesday, October 5, 2011
Инициализация проекта

                   Клонируем репозиторий
                             git://github.com/toivonen/yac2011-bem-js-docs.git
                   make
                             Получает библиотеку bem-bl
                             Собирает страницы


                   20

Wednesday, October 5, 2011
Структура проекта

                    bem-bl/
                    blocks/
                    pages/
                    GNUmakefile




                   21

Wednesday, October 5, 2011
Структура проекта

                    bem-bl/
                        blocks-common/
                        blocks-desktop/
                    blocks/
                    pages/
                    GNUmakefile




                   22

Wednesday, October 5, 2011
Структура проекта

                    bem-bl/
                        blocks-common/
                            i-bem/
                            ...
                        blocks-desktop/
                    blocks/
                    pages/
                    GNUmakefile



                   23

Wednesday, October 5, 2011
Структура проекта

                    bem-bl/
                    blocks/
                        b-cut/
                        ...
                    pages/
                    GNUmakefile




                   24

Wednesday, October 5, 2011
Структура проекта

                    bem-bl/
                    blocks/
                    pages/
                        index/
                            index.bemjson.js
                        ...
                    GNUmakefile




                   25

Wednesday, October 5, 2011
Структура проекта

                    bem-bl/
                    blocks/
                    pages/
                    GNUmakefile




                   26

Wednesday, October 5, 2011
Пишем код




                   27

Wednesday, October 5, 2011
Основные элементы блока



                      <div class=”b-cut”>
                          <a class=”b-link b-link_pseudo_yes b-cut__opener i-bem” onclick=”return {"b-
                      link":{}}”>
                                ...
                          </a>
                          <div class=”b-cut__content”>
                               ...
                          </div>
                      </div>



                   28

Wednesday, October 5, 2011
Начальное состояние



                      <div class=”b-cut”>
                          <a class=”b-link b-link_pseudo_yes b-cut__opener i-bem” onclick=”return {"b-
                      link":{}}”>
                                ...
                          </a>
                          <div class=”b-cut__content”>
                               ...
                          </div>
                      </div>



                   29

Wednesday, October 5, 2011
Открытый кат



                      <div class=”b-cut”>
                          <a class=”b-link b-link_pseudo_yes b-cut__opener
                               b-cut__opener_visibility_hidden i-bem” onclick=”return {"b-link":{}}”>
                                ...
                          </a>
                          <div class=”b-cut__content b-cut__opener_visibility_visible”>
                               ...
                          </div>
                      </div>




                   30

Wednesday, October 5, 2011
Контейнер блока



                      <div class=”b-cut”>
                               ...
                      </div>




                   31

Wednesday, October 5, 2011
js: true



                      <div class=”b-cut i-bem”
                          onclick=”return {"b-cut":{}}”>
                               ...
                      </div>




                   32

Wednesday, October 5, 2011
Пишем код




                   33

Wednesday, October 5, 2011
Инициализация



                      <div class=”b-cut i-bem b-cut_js_inited”
                          onclick=”return {"b-cut":{}}”>
                               ...
                      </div>




                   34

Wednesday, October 5, 2011
Начальное состояние



                      <a class=”b-link b-link_pseudo_yes b-cut__opener i-bem”
                      onclick=”return {"b-link":{}}”>
                           ...
                      </a>




                   35

Wednesday, October 5, 2011
Начальное состояние



                      <a class=”b-link b-link_pseudo_yes b-cut__opener i-bem”
                      onclick=”return {"b-link":{}}”>
                           ...
                      </a>




                   36

Wednesday, October 5, 2011
Начальное состояние



                      <a class=”b-link b-link_pseudo_yes b-link_js_inited b-
                      cut__opener i-bem” onclick=”return {"b-link":{}}”>
                           ...
                      </a>




                   37

Wednesday, October 5, 2011
Пишем код




                   38

Wednesday, October 5, 2011
Как закрывать кат?



                      <div class=”b-cut”>
                          ...
                          <div class=”b-cut__content b-cut__opener_visibility_visible”>
                              <i class=”b-cut__close”></i>
                              ...
                          </div>
                      </div>




                   39

Wednesday, October 5, 2011
Пишем код




                   40

Wednesday, October 5, 2011
Очередной проект




                   41

Wednesday, October 5, 2011
Инициализация проекта

                    Клонируем репозиторий
                             git://github.com/toivonen/yac2011-bem-js-blog.git
                    make
                             Получает библиотеку bem-bl
                             Собирает страницы


                   42

Wednesday, October 5, 2011
Пишем код




                   43

Wednesday, October 5, 2011
Ссылки
                   для “почитать”

                    Репозиторий библиотеки
                       github.com/bem/bem-bl или clck.ru/Kuu4
                       jsdoc в коде блока i-bem
                    Документация блока i-bem
                       clck.ru/KzEJ
                    Клуб в Ярушке

                   44

Wednesday, October 5, 2011
Bарвара Степанова
                             toivonen@yandex-team.ru




Wednesday, October 5, 2011
Бонус!




                   46

Wednesday, October 5, 2011
Пишем код




                   47

Wednesday, October 5, 2011

Mais conteúdo relacionado

Semelhante a i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс

Использование библиотеки bem-bl
Использование библиотеки bem-blИспользование библиотеки bem-bl
Использование библиотеки bem-blVarya Stepanova
 
Пишем БЭМ правильно
Пишем БЭМ правильноПишем БЭМ правильно
Пишем БЭМ правильноIhor Zenich
 
Elena Gluhova
Elena GluhovaElena Gluhova
Elena Gluhovayaevents
 
Елена Глухова "Верстка кастомными тегами для API Яндекс.Карт"
Елена Глухова "Верстка кастомными тегами для API Яндекс.Карт"Елена Глухова "Верстка кастомными тегами для API Яндекс.Карт"
Елена Глухова "Верстка кастомными тегами для API Яндекс.Карт"Yandex
 
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компаний
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компанийАлександр Баумгертнер — Преимущества БЭМ для небольших проектов и компаний
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компанийYandex
 

Semelhante a i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс (6)

Использование библиотеки bem-bl
Использование библиотеки bem-blИспользование библиотеки bem-bl
Использование библиотеки bem-bl
 
Пишем БЭМ правильно
Пишем БЭМ правильноПишем БЭМ правильно
Пишем БЭМ правильно
 
Developer Days 2011, Kharkov
Developer Days 2011, KharkovDeveloper Days 2011, Kharkov
Developer Days 2011, Kharkov
 
Elena Gluhova
Elena GluhovaElena Gluhova
Elena Gluhova
 
Елена Глухова "Верстка кастомными тегами для API Яндекс.Карт"
Елена Глухова "Верстка кастомными тегами для API Яндекс.Карт"Елена Глухова "Верстка кастомными тегами для API Яндекс.Карт"
Елена Глухова "Верстка кастомными тегами для API Яндекс.Карт"
 
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компаний
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компанийАлександр Баумгертнер — Преимущества БЭМ для небольших проектов и компаний
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компаний
 

Mais de yaevents

Мониторинг со всех сторон. Алексей Симаков, Яндекс
Мониторинг со всех сторон. Алексей Симаков, ЯндексМониторинг со всех сторон. Алексей Симаков, Яндекс
Мониторинг со всех сторон. Алексей Симаков, Яндексyaevents
 
Истории про разработку сайтов. Сергей Бережной, Яндекс
Истории про разработку сайтов. Сергей Бережной, ЯндексИстории про разработку сайтов. Сергей Бережной, Яндекс
Истории про разработку сайтов. Сергей Бережной, Яндексyaevents
 
Разработка приложений для Android на С++. Юрий Береза, Shturmann
Разработка приложений для Android на С++. Юрий Береза, ShturmannРазработка приложений для Android на С++. Юрий Береза, Shturmann
Разработка приложений для Android на С++. Юрий Береза, Shturmannyaevents
 
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...yaevents
 
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...yaevents
 
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, ЯндексСканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндексyaevents
 
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, FacebookМасштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebookyaevents
 
Контроль зверей: инструменты для управления и мониторинга распределенных сист...
Контроль зверей: инструменты для управления и мониторинга распределенных сист...Контроль зверей: инструменты для управления и мониторинга распределенных сист...
Контроль зверей: инструменты для управления и мониторинга распределенных сист...yaevents
 
Юнит-тестирование и Google Mock. Влад Лосев, Google
Юнит-тестирование и Google Mock. Влад Лосев, GoogleЮнит-тестирование и Google Mock. Влад Лосев, Google
Юнит-тестирование и Google Mock. Влад Лосев, Googleyaevents
 
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...yaevents
 
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...yaevents
 
В поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, НигмаВ поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, Нигмаyaevents
 
Using classifiers to compute similarities between face images. Prof. Lior Wol...
Using classifiers to compute similarities between face images. Prof. Lior Wol...Using classifiers to compute similarities between face images. Prof. Lior Wol...
Using classifiers to compute similarities between face images. Prof. Lior Wol...yaevents
 
Поисковая технология "Спектр". Андрей Плахов, Яндекс
Поисковая технология "Спектр". Андрей Плахов, ЯндексПоисковая технология "Спектр". Андрей Плахов, Яндекс
Поисковая технология "Спектр". Андрей Плахов, Яндексyaevents
 
Julia Stoyanovich - Making interval-based clustering rank-aware
Julia Stoyanovich - Making interval-based clustering rank-awareJulia Stoyanovich - Making interval-based clustering rank-aware
Julia Stoyanovich - Making interval-based clustering rank-awareyaevents
 
Mike Thelwall - Sentiment strength detection for the social web: From YouTube...
Mike Thelwall - Sentiment strength detection for the social web: From YouTube...Mike Thelwall - Sentiment strength detection for the social web: From YouTube...
Mike Thelwall - Sentiment strength detection for the social web: From YouTube...yaevents
 
Evangelos Kanoulas — Advances in Information Retrieval Evaluation
Evangelos Kanoulas — Advances in Information Retrieval EvaluationEvangelos Kanoulas — Advances in Information Retrieval Evaluation
Evangelos Kanoulas — Advances in Information Retrieval Evaluationyaevents
 
Ben Carterett — Advances in Information Retrieval Evaluation
Ben Carterett — Advances in Information Retrieval EvaluationBen Carterett — Advances in Information Retrieval Evaluation
Ben Carterett — Advances in Information Retrieval Evaluationyaevents
 
Raffaele Perego "Efficient Query Suggestions in the Long Tail"
Raffaele Perego "Efficient Query Suggestions in the Long Tail"Raffaele Perego "Efficient Query Suggestions in the Long Tail"
Raffaele Perego "Efficient Query Suggestions in the Long Tail"yaevents
 
"Efficient Diversification of Web Search Results"
"Efficient Diversification of Web Search Results""Efficient Diversification of Web Search Results"
"Efficient Diversification of Web Search Results"yaevents
 

Mais de yaevents (20)

Мониторинг со всех сторон. Алексей Симаков, Яндекс
Мониторинг со всех сторон. Алексей Симаков, ЯндексМониторинг со всех сторон. Алексей Симаков, Яндекс
Мониторинг со всех сторон. Алексей Симаков, Яндекс
 
Истории про разработку сайтов. Сергей Бережной, Яндекс
Истории про разработку сайтов. Сергей Бережной, ЯндексИстории про разработку сайтов. Сергей Бережной, Яндекс
Истории про разработку сайтов. Сергей Бережной, Яндекс
 
Разработка приложений для Android на С++. Юрий Береза, Shturmann
Разработка приложений для Android на С++. Юрий Береза, ShturmannРазработка приложений для Android на С++. Юрий Береза, Shturmann
Разработка приложений для Android на С++. Юрий Береза, Shturmann
 
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
 
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
 
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, ЯндексСканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
 
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, FacebookМасштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
 
Контроль зверей: инструменты для управления и мониторинга распределенных сист...
Контроль зверей: инструменты для управления и мониторинга распределенных сист...Контроль зверей: инструменты для управления и мониторинга распределенных сист...
Контроль зверей: инструменты для управления и мониторинга распределенных сист...
 
Юнит-тестирование и Google Mock. Влад Лосев, Google
Юнит-тестирование и Google Mock. Влад Лосев, GoogleЮнит-тестирование и Google Mock. Влад Лосев, Google
Юнит-тестирование и Google Mock. Влад Лосев, Google
 
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
 
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
 
В поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, НигмаВ поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, Нигма
 
Using classifiers to compute similarities between face images. Prof. Lior Wol...
Using classifiers to compute similarities between face images. Prof. Lior Wol...Using classifiers to compute similarities between face images. Prof. Lior Wol...
Using classifiers to compute similarities between face images. Prof. Lior Wol...
 
Поисковая технология "Спектр". Андрей Плахов, Яндекс
Поисковая технология "Спектр". Андрей Плахов, ЯндексПоисковая технология "Спектр". Андрей Плахов, Яндекс
Поисковая технология "Спектр". Андрей Плахов, Яндекс
 
Julia Stoyanovich - Making interval-based clustering rank-aware
Julia Stoyanovich - Making interval-based clustering rank-awareJulia Stoyanovich - Making interval-based clustering rank-aware
Julia Stoyanovich - Making interval-based clustering rank-aware
 
Mike Thelwall - Sentiment strength detection for the social web: From YouTube...
Mike Thelwall - Sentiment strength detection for the social web: From YouTube...Mike Thelwall - Sentiment strength detection for the social web: From YouTube...
Mike Thelwall - Sentiment strength detection for the social web: From YouTube...
 
Evangelos Kanoulas — Advances in Information Retrieval Evaluation
Evangelos Kanoulas — Advances in Information Retrieval EvaluationEvangelos Kanoulas — Advances in Information Retrieval Evaluation
Evangelos Kanoulas — Advances in Information Retrieval Evaluation
 
Ben Carterett — Advances in Information Retrieval Evaluation
Ben Carterett — Advances in Information Retrieval EvaluationBen Carterett — Advances in Information Retrieval Evaluation
Ben Carterett — Advances in Information Retrieval Evaluation
 
Raffaele Perego "Efficient Query Suggestions in the Long Tail"
Raffaele Perego "Efficient Query Suggestions in the Long Tail"Raffaele Perego "Efficient Query Suggestions in the Long Tail"
Raffaele Perego "Efficient Query Suggestions in the Long Tail"
 
"Efficient Diversification of Web Search Results"
"Efficient Diversification of Web Search Results""Efficient Diversification of Web Search Results"
"Efficient Diversification of Web Search Results"
 

i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс

  • 1. JavaScript в БЭМ-терминах Варвара Степанова YAC-2011, Москва, 19 сентября 2011 года Wednesday, October 5, 2011
  • 2. clck.ru/L45C шпаргалка к мастер-классу JavaScript в терминах БЭМ Wednesday, October 5, 2011
  • 3. Блоки и элементы 3 Wednesday, October 5, 2011
  • 4. Модификаторы 4 Wednesday, October 5, 2011
  • 5. Уровни переопределения 5 Wednesday, October 5, 2011
  • 6. Составные блоки 6 Wednesday, October 5, 2011
  • 7. JS-реализация блока i-bem 7 Wednesday, October 5, 2011
  • 8. Features Некоторые особенности 8 Wednesday, October 5, 2011
  • 9. Features Некоторые особенности Декларативный стиль 9 Wednesday, October 5, 2011
  • 10. Features Некоторые особенности Декларативный стиль Отложенная инициализация 10 Wednesday, October 5, 2011
  • 11. Features Некоторые особенности Декларативный стиль Отложенная инициализация Использование вложенных блоков 11 Wednesday, October 5, 2011
  • 12. Features Некоторые особенности Декларативный стиль Отложенная инициализация Использование вложенных блоков Реакция на изменение модификаторов 12 Wednesday, October 5, 2011
  • 13. Features Некоторые особенности Декларативный стиль Отложенная инициализация Использование вложенных блоков Реакция на изменение модификаторов Расширение поведения модификаторами и уровнями переопределения 13 Wednesday, October 5, 2011
  • 14. Что будем делать? 14 Wednesday, October 5, 2011
  • 15. Блок-cut b-cut 15 Wednesday, October 5, 2011
  • 16. Блок-cut b-cut 16 Wednesday, October 5, 2011
  • 17. Инструменты и окружение 17 Wednesday, October 5, 2011
  • 18. Инструменты и окружение Локальный web-сервер БЭМ-инструменты github.com/bem/bem-tools или clck.ru/Kz8v 18 Wednesday, October 5, 2011
  • 19. Инициализация проекта 19 Wednesday, October 5, 2011
  • 20. Инициализация проекта Клонируем репозиторий git://github.com/toivonen/yac2011-bem-js-docs.git make Получает библиотеку bem-bl Собирает страницы 20 Wednesday, October 5, 2011
  • 21. Структура проекта bem-bl/ blocks/ pages/ GNUmakefile 21 Wednesday, October 5, 2011
  • 22. Структура проекта bem-bl/ blocks-common/ blocks-desktop/ blocks/ pages/ GNUmakefile 22 Wednesday, October 5, 2011
  • 23. Структура проекта bem-bl/ blocks-common/ i-bem/ ... blocks-desktop/ blocks/ pages/ GNUmakefile 23 Wednesday, October 5, 2011
  • 24. Структура проекта bem-bl/ blocks/ b-cut/ ... pages/ GNUmakefile 24 Wednesday, October 5, 2011
  • 25. Структура проекта bem-bl/ blocks/ pages/ index/ index.bemjson.js ... GNUmakefile 25 Wednesday, October 5, 2011
  • 26. Структура проекта bem-bl/ blocks/ pages/ GNUmakefile 26 Wednesday, October 5, 2011
  • 27. Пишем код 27 Wednesday, October 5, 2011
  • 28. Основные элементы блока <div class=”b-cut”> <a class=”b-link b-link_pseudo_yes b-cut__opener i-bem” onclick=”return {"b- link":{}}”> ... </a> <div class=”b-cut__content”> ... </div> </div> 28 Wednesday, October 5, 2011
  • 29. Начальное состояние <div class=”b-cut”> <a class=”b-link b-link_pseudo_yes b-cut__opener i-bem” onclick=”return {"b- link":{}}”> ... </a> <div class=”b-cut__content”> ... </div> </div> 29 Wednesday, October 5, 2011
  • 30. Открытый кат <div class=”b-cut”> <a class=”b-link b-link_pseudo_yes b-cut__opener b-cut__opener_visibility_hidden i-bem” onclick=”return {"b-link":{}}”> ... </a> <div class=”b-cut__content b-cut__opener_visibility_visible”> ... </div> </div> 30 Wednesday, October 5, 2011
  • 31. Контейнер блока <div class=”b-cut”> ... </div> 31 Wednesday, October 5, 2011
  • 32. js: true <div class=”b-cut i-bem” onclick=”return {"b-cut":{}}”> ... </div> 32 Wednesday, October 5, 2011
  • 33. Пишем код 33 Wednesday, October 5, 2011
  • 34. Инициализация <div class=”b-cut i-bem b-cut_js_inited” onclick=”return {"b-cut":{}}”> ... </div> 34 Wednesday, October 5, 2011
  • 35. Начальное состояние <a class=”b-link b-link_pseudo_yes b-cut__opener i-bem” onclick=”return {"b-link":{}}”> ... </a> 35 Wednesday, October 5, 2011
  • 36. Начальное состояние <a class=”b-link b-link_pseudo_yes b-cut__opener i-bem” onclick=”return {"b-link":{}}”> ... </a> 36 Wednesday, October 5, 2011
  • 37. Начальное состояние <a class=”b-link b-link_pseudo_yes b-link_js_inited b- cut__opener i-bem” onclick=”return {"b-link":{}}”> ... </a> 37 Wednesday, October 5, 2011
  • 38. Пишем код 38 Wednesday, October 5, 2011
  • 39. Как закрывать кат? <div class=”b-cut”> ... <div class=”b-cut__content b-cut__opener_visibility_visible”> <i class=”b-cut__close”></i> ... </div> </div> 39 Wednesday, October 5, 2011
  • 40. Пишем код 40 Wednesday, October 5, 2011
  • 41. Очередной проект 41 Wednesday, October 5, 2011
  • 42. Инициализация проекта Клонируем репозиторий git://github.com/toivonen/yac2011-bem-js-blog.git make Получает библиотеку bem-bl Собирает страницы 42 Wednesday, October 5, 2011
  • 43. Пишем код 43 Wednesday, October 5, 2011
  • 44. Ссылки для “почитать” Репозиторий библиотеки github.com/bem/bem-bl или clck.ru/Kuu4 jsdoc в коде блока i-bem Документация блока i-bem clck.ru/KzEJ Клуб в Ярушке 44 Wednesday, October 5, 2011
  • 45. Bарвара Степанова toivonen@yandex-team.ru Wednesday, October 5, 2011
  • 46. Бонус! 46 Wednesday, October 5, 2011
  • 47. Пишем код 47 Wednesday, October 5, 2011