Browse Source

fea module

Ivan Asmer 7 years ago
parent
commit
9a51836d66
1 changed files with 60 additions and 0 deletions
  1. 60 0
      A/08module.md

+ 60 - 0
A/08module.md

@@ -0,0 +1,60 @@
+# objectToPairs
+
+Написать функцию, которая будет принимать объект и создавать из него массив в котором пары ключ-значения будут идти по очереди (четные - ключи, нечетные - значения)
+
+```javascript
+var obj = { foo: 1,
+    bar: null,
+    baz: undefined
+}
+
+objectToPairs(obj) // возвращает ['foo', 1, 'bar', null, 'baz', undefined]
+```
+
+
+# objectSplit
+
+Функция должна преобразовывать объект в два массива ключей и значений и возвращать объект с двумя массивами:
+
+```javascript
+var obj = { foo: 1,
+    bar: null,
+    baz: undefined
+}
+
+objectSplit(obj) // {keys: ['foo', 'bar', 'baz'], values: [1, null, undefined]}
+```
+Используйте итерацию.
+
+# setPropertyBySelector
+
+Создайте функцию, которая будет искать все элементы по селектору и задавать им то или иное свойство в то или иное значение
+
+```javascript
+setPropertyBySelector("tr > li", 'onclick', function(){
+    alert('click on tr > li')
+})
+
+setPropertyBySelector("td", 'innerHTML', 'испортим все td на странице')
+```
+
+# scrollButtons
+
+Создайте функцию, которая будет добавлять 4 кнопки (вверх, вниз, вправо, влево) для любого элемента cо скроллбаром (CSS `overflow`) и скроллить
+его по нажатию на эти кнопки на определенную величину. 
+
+```javascript
+scrollButtons(element, 50) // теперь element можно скроллить по кнопкам на 50 пикселей.
+```
+
+# table Editor 
+
+Создайте функцию, которая будет записывать в контейнер таблицу с данными из массива с объектами наподобие http://gitlab.a-level.com.ua/gitgod/FrontendLectures/src/master/04AssociativeArraysHomeWork.md#html-th-optional.
+Однако кроме просто создания таблицы предусмотрите возможность редактирование ячеек таблицы. По двойному щелчку в ячейке создается `input`, и удаляется старый `input` (если он был), данные при удалении старого `input`
+из старого `input` должны оказываться в ячейке таблице и объекте, который был отредактирован.
+
+```javascript
+tableEditor(element, persons)
+```
+
+