Ivan Asmer 8 lat temu
rodzic
commit
ed386e742c
2 zmienionych plików z 60 dodań i 3 usunięć
  1. 3 3
      06FunctionJQHomeWork.md
  2. 57 0
      08module.md

+ 3 - 3
06FunctionJQHomeWork.md

@@ -12,11 +12,11 @@ var persons = [
     {name: "Яков", age: 12},
 ]
 
-sort("age"); //сортирует по возрасту по возрастанию
-sort("name", false); //сортирует по имени по убыванию
+sort(persons, "age"); //сортирует по возрасту по возрастанию
+sort(persons, "name", false); //сортирует по имени по убыванию
 ```
 
-Функция позволяет отсортировать *любой набор* данных по имени поля (первый параметр). Вторым параметром идет необязательный `Boolean`, который в случае `true` делает сортировку по возрастанию, в случае `false` - по убыванию. По умолчанию (без второго параметра) 
+Функция позволяет отсортировать *любой набор* данных по имени поля (второй параметр). Третьим параметром идет необязательный `Boolean`, который в случае `true` делает сортировку по возрастанию, в случае `false` - по убыванию. По умолчанию (без третьего параметра) 
 происходит сортировка по возрастанию.
 
 ## array map 

+ 57 - 0
08module.md

@@ -0,0 +1,57 @@
+# Модуль
+
+## extend
+
+Сделать функцию `extend`, которая добавляет один ассоциативный массив во второй:
+
+```javascript
+var person = {name: "Иван", age: 17};
+
+var extendedPerson = extend(person, {surname: "Иванов", fatherName: "Иванович"});
+console.log(extendedPerson); //{name: "Иван", age: 17, surname: "Иванов", fatherName: "Иванович"}
+```
+
+## copy
+Сделайте функцию `copy`, которая будет копировать ключи и значения объекта в новый объект.
+Копирование должно проверять типы данных, и делать **копии** вложенных массивов. Вложенные объекты не копируются (просто присваиваются)
+
+## menuBuilder
+
+Скреативьте функцию `menuBuilder`, которая из структуры
+```javascript
+var menu = [{text: "google", href: "http://google.com"},
+            {text: "ebay", href: "http://ebay.com"},
+            {text: "ya", href: "http://ya.ru"},
+];
+```
+
+создает меню используя `ul`, `li`, `a` в определенном контейнере. `id` контейнера передается в качестве параметра:
+
+```html
+    <body>
+        ...
+        <div id='menuContainer'>
+        </div>
+        ...
+    </body>
+```
+
+```javascript
+menuBuilder("menuContainer", menu); //построить меню в элементе с id "menuContainer".
+```
+Вы можете создавать элементы любым удобным способом (строка, DOM, jQuery)
+
+## gallery
+
+Напилите функцию, которая создает галерею картинок в определенном контейнере. В качестве параметра передавайте `id` контейнера и массив со строками ссылок на картинки:
+
+```javascript
+gallery("galleryContainer",["https://static33.cmtt.ru/paper-media/fd/92/e5/0479e08f8e852d.png", "http://s00.yaplakal.com/pics/pics_original/1/9/4/3736491.jpg"])
+```
+В идеале у вас должна быть стрелки вперед и назад, по клику на которые происходит смена картинки (клик на самой картинке - тоже удобно). Эффекты добавить по вкусу.
+
+## multiplyTable
+
+Функция создает таблицу умножения в переданном `id` контейнере, размером NxN, в которой прямоугольник слева вверх от курсора мыши (включая курсор) выделен другим цветом и ячейки 
+пронумерованы по порядку (слева направо, сверху вниз). Желательно иметь заголовки таблицы с числами (1..N) другим стилем. Заголовки не входят в подсвеченный
+прямоугольник.