Search Header Logo
productCart

productCart

Assessment

Presentation

Computers

1st Grade

Hard

Created by

Edukoht Edukohter

Used 13+ times

FREE Resource

181 Slides • 0 Questions

1

productCart

Slide image

2

Поработаем с HTML

Slide image

3

Уже умеешь

Создай элемент «div» с классом «header»

4

Slide image


5

Уже умеешь

Внутри элемента «div» с классом «header» создай еще один элемент «div» с классом «itemContainer»

6

Slide image


7

Уже умеешь

Внутри элемента «div» с классом «itemContainer» создай элемент «h1» и укажи туда название магазина

8

Slide image


9

Уже умеешь

Внутри элемента «div» с классом «itemContainer» создай элемент «div» с классом «circle»

Внутри элемента «div» с классом «circle» создай элемент «p» с классом «productCounter»

10

Slide image


11

Уже умеешь

Внутри элемента «div» с классом «itemContainer» создай элемент «img» с классом «bag»

12

Slide image


13

Уже умеешь

Выйди из всех div-блоков и создай элемент «h1». Внутри этого элемента укажи текст: «Your product cart»

14

Slide image


15

Уже умеешь

После элемента «h1» создай элемент «h2» с классом «emptyCart». Внутри этого элемента укажи текст: «Your cart is empty. Please reload the page to get the products»

16

Slide image


17

Уже умеешь

После этого создай элемент «div» с классом «productContainer»

18

Slide image


19

Уже умеешь

Внутри элемента «div» с классом «productContainer» создай элемент «div» с классом «functionalContainer»

20

Slide image


21

Уже умеешь

Внутри элемента «div» с классом «functionalContainer» создай элемент «div» с классом «product»

22

Slide image


23

Уже умеешь

Внутри элемента «div» с классом «product» создай элемент «img» и вставь туда картинку продукта

После него создай еще один div-элемент с классом «productDescription»

24

Slide image


25

Уже умеешь

Внутри элемента «div» с классом «productDescription» создай два элемента «p».

В первом напиши название продукта, а во втором цену продукта

26

Slide image


27

Уже умеешь

После элементов «p» создай элемент «button» с классом «remove». Внутри этого элемента укажи текст:

«remove»

28

Slide image


29

Уже умеешь

Выйди из div с классом «product»

Создай div с классом «functions»

30

Slide image


31

Уже умеешь

Внутри div с классом «functions» создай кнопку с классами: «add», «funcBtn».

Укажи у кнопки такое название «+»

32

Slide image


33

Уже умеешь

Внутри div с классом «functions» создай элемент «p» c классом «quantity»

Укажи внутри этого элемента вот такой текст «1»

34

Slide image


35

Внутри div с классом «functions» создай кнопку с классами: «minus», «funcBtn».

Укажи у кнопки такое название «-»

36

Slide image


37

Уже умеешь

Скопируй сам тег с классом «functionalContainer» и все его содержимое.

Вставь скопированный код три раза.


38

Уже умеешь

В каждом скопированном блоке изменяй название продукта, его цену и фотографию.

39

Slide image


40

Уже умеешь

После последнего скопированного блока создаем тег «hr»

После него создаем новый тег «div» с классом «totalBox»

41

Slide image


42

Уже умеешь

Внутри элемента div с классом «totalBox» создай элемент «p» с текстом: «Total»

После этого создай еще один элемент «p» с классом «totalPrice» и укажи туда вот такой текст: «$ 3900»

43

Slide image


44

Уже умеешь

Выйди из элемента div с классом «totalBox»

После него создай кнопку с классом «delBtn» и укажи туда текст:

«Clear cart»

45

Slide image


46

Немного красоты

Slide image

47

Что-то новое

В CSS у нас есть глобальный селектор. Данная штука позволяет нам задать какое-то CSS свойство для всех элементов.

Чтобы обратиться к глобальному селектору, мы ставим «*»

48

Slide image


49

Что-то новое

В CSS мы можем обращаться сразу к нескольким элементам с помощью запятой.

Пример: h1, p{

}

50

Что-то новое

Обратись к элементам: «h1» и «h2»

Задай им CSS-свойство «text-align: center»

51

Slide image


52

Что-то новое

Обратись к элементу «h2» и укажи у него CSS-свойство «display: none»

Это свойство поможет нам скрыть элемент с нашего сайта

53

Slide image


54

Уже умеешь

Обратись к классу «productContainer» и укажи у него CSS-свойства:

width, height, свойство для центровки div-элементов, свойство для центровки строчных элементов

55

Slide image


56

Уже умеешь

Обратись к элементу «body» и укажи у него CSS-свойство «background-color»

57

Slide image


58

Уже умеешь

Обратись к элементу «img» и укажи у него CSS-свойство «width»

59

Slide image


60

Уже умеешь

Обратись к классу «product» и укажи у него CSS-свойство:

display: flex

61

Slide image


62

Что-то новое

display: flex позволяет нам с лёгкостью располагать элементы на нашем сайте.

Когда мы пишем у контейнера/коробки это свойство, то все элементы автоматически становяться в ряд.

63

Slide image

Без display: flex

64

Slide image

C display: flex

65

Уже умеешь

Обратись к классу «productDescription» и укажи у него CSS-свойства:

«margin-left», «text-align: center»

66

Slide image


67

Уже умеешь

Обратись к классу «functionalContainer» и укажи у него CSS-свойства:

«display: flex», «justify-content: space-between»

68

Slide image


69

Что-то новое

Что такое justify-content: space-between?

Данное свойство помогает нам расположить элементы друг от друга на одинаковое расстояние.


70

Slide image


71

Slide image

72

Уже умеешь

Обратись к классу «functions» и укажи у него CSS-свойства:

«display: flex», «flex-direction: column»

73

Slide image


74

Что-то новое

Что такое flex-direction?

Данное CSS-свойство говорит, каким образом должны быть расположены элементы в контейнере.

Стандартное значение этого свойства - row

75

Slide image


76

Slide image

77

Уже умеешь

Обратись к элементу «button» и укажи у него какие-нибудь размеры.

78

Slide image


79

Уже умеешь

Обратись к классу «funcBtn» и укажи у него CSS-свойства:

width, border: transparent, color, font-size

80

Slide image


81

Уже умеешь

Обратись к классу «remove» и укажи у него CSS-свойства:

border: none, font-size, color

82

Slide image


83

Уже умеешь

Обратись к классу «functionalContainer» и укажи у него CSS-свойство:

margin-top

84

Slide image


85

Уже умеешь

Обратись к элементу «hr» и укажи у него CSS-свойства:

border: none, height, background-color

86

Slide image


87

Уже умеешь

Обратись к классу «totalBox» и укажи у него CSS-свойства:

display: flex, justify-content: space-between

88

Slide image


89

Уже умеешь

Обратись к элементу «p» в классе «totalBox» и укажи у него CSS-свойства:

font-weight: bold, color

90

Slide image


91

Уже умеешь

Обратись к классу «delBtn» и укажи у него CSS-свойства:

width, border, border-radius, text-transform: uppercase

92

Slide image


93

Уже умеешь

Создай псевдо класс «hover» у элемента с классом «delBtn». Укажи у него CSS-свойства:

color, background-color

94

Slide image


95

Уже умеешь

Обратись к классу «showAnItem» и укажи у него CSS-свойство:

display: block

96

Slide image


97

Уже умеешь

Обратись к классу «header» и укажи у него CSS-свойство:

background-color

98

Slide image


99

Уже умеешь

Обратись к классу «bag» и укажи у него CSS-свойства:

width, height

100

Slide image


101

Уже умеешь

Обратись к классу «itemContainer» и укажи у него CSS-свойства:

display: flex

width

margin: 0px auto

justify-content: space-between

position: relative

102

Slide image


103

Уже умеешь

Обратись к классу «circle» и укажи у него CSS-свойства:

width: 50px;

height: 50px;

background-color

border-radius: 50%

position: absolute

top: 2px

right: -5px

104

Slide image


105

Уже умеешь

Обратись к классу «productCounter» и укажи у него CSS-свойства:

position: relative

top: -7px

left: 7px

color

font-weight: bold

106

Slide image


107

Что-то помощнее

Slide image

108

Уже умеешь

Создай переменную «functionalContainers» с помощью ключевого слова «const». Присвой ей выбранные элементы с классом «functionalContainer»

109

Slide image


110

Уже умеешь

Создай переменную «allRemoveBtns» с помощью ключевого слова «const». Присвой ей выбранные элементы с классом «remove»

111

Slide image


112

Уже умеешь

Создай переменную «delBtn» с помощью ключевого слова «const». Присвой ей выбранный элемент с классом «delBtn»

113

Slide image


114

Уже умеешь

Создай переменную «productContainer» с помощью ключевого слова «const». Присвой ей выбранный элемент с классом «productContainer»

115

Slide image


116

Уже умеешь

Создай переменную «emptyCart» с помощью ключевого слова «const». Присвой ей выбранный элемент с классом «emptyCart»

117

Slide image


118

Уже умеешь

Создай пустой список с именем «productsArr»

119

Slide image


120

Уже умеешь

Создай переменную «totalSum» и присвой ей значение - 3900

121

Slide image


122

Уже умеешь

Создай переменную «counter» и присвой ей значение - 4

123

Slide image


124

Уже умеешь

Создай пустой список «namesArr».

Заполни его названиями каких-то продуктов.

Например:

'Iphone', 'Apple Watch', 'Oneplus', 'Mac-mini'

125

Slide image


126

Уже умеешь

Создай пустой список «priceArr».

Укажи туда цену товаров.

Первое значение = цена первого товара.

Например:

1000, 500, 900, 1500

127

Slide image


128

Уже умеешь

Создай переменную «totalPrice» и присвой ей выбранный элемент с классом «totalPrice»

129

Slide image


130

Уже умеешь

Создай переменную «allAddBtn» и присвой ей выбранный элемент с классом «add»

131

Slide image


132

Уже умеешь

Создай переменную «allMinusBtn» и присвой ей выбранный элемент с классом «minus»

133

Slide image


134

Уже умеешь

Создай переменную «quantity» и присвой ей выбранный элемент с классом «quantity»

135

Slide image


136

Уже умеешь

Создай переменную «productCounter» и присвой ей выбранный элемент с классом «productCounter»

137

Slide image


138

Уже умеешь

Создай класс «products»

139

Slide image


140

Уже умеешь

Внутри класса «products» создай конструктор. Передай в него вот такие параметры:

«name», «price»

Внутри фигурных скобок вставь вот такой код:

this.name = name;

this.price = price;

141

Slide image


142

Уже умеешь

Выйди из класса «products»

На следующей строчке создай конструкцию:

«productCounter.innerText = counter»

143

Slide image


144

Уже умеешь

Создай функцию «productsCreation», передай туда параметры:

namesArr, priceArr


145

Slide image


146

Уже умеешь

Внутри функции создай цикл, который будет повторяться такое же количество раз, сколько элементов находиться в списке «namesArr»

147

Slide image


148

Уже умеешь

Внутри цикла создай конструкцию:

productsArr.push(new products(namesArr[i], priceArr[i]));

149

Slide image


150

Уже умеешь

Вызови функцию «productsCreation» передай в нее два параметра:

«namesArr», «priceArr»

151

Slide image


152

Уже умеешь

Cоздай цикл, который будет повторяться такое же количество раз, сколько элементов находиться в списке «allRemoveBtns»

153

Slide image


154

Уже умеешь

Внутри цикла сделайте добавление каждому элементу в списке «allRemoveBtns» действия «click»

155

Slide image


156

Уже умеешь

Внутри функции у слушателя событий добавь команду для уменьшение переменной «totalSum» на число productsArr[i].price

157

Slide image


158

Уже умеешь

Добавь в функцию слушателя событий еще такие команды:

totalPrice.innerText = totalSum;

functionalContainers[i].remove()

159

Slide image


160

Уже умеешь

Выйди из функции слушателя события и добавь вот такую конструкцию:

allAddBtn[i].addEventListener("click", function(){

})

161

Slide image


162

Уже умеешь

Внутри функции слушателя событий добавь конструкцию для увеличения переменной «totalSum» на конструкцию priceArr[i]

163

Slide image


164

Уже умеешь

После этого добавь себе вот такие конструкции в функцию последнего слушателя событий:

165

Slide image


166

Уже умеешь

Выйди из функции слушателя событий и добавь еще один слушатель событий у всех элементов списка «allMinusBtn»

167

Slide image


168

Уже умеешь

Внутри функции слушателя событий добавь конструкцию для уменьшения переменной «totalSum» на конструкцию priceArr[i]

169

Slide image


170

Уже умеешь

Внутри функции слушателя событий добавь вот такие конструкции:

totalPrice.innerText = "$ " + totalSum ;

quantity[i].innerText = parseInt(quantity[i].innerText) - 1;

counter -= 1;

productCounter.innerText = counter;

171

Slide image


172

Уже умеешь

Внутри функции слушателя событий добавь if-блок, вот с таким условием:

parseInt(quantity[i].innerText) === 0

Если условие верно, то вызови у этого элемента «functionalContainers[i]» метод «remove»

173

Slide image


174

Уже умеешь

Вызови у переменной «delBtn» метод «addEventListener» с действием «click»

175

Slide image


176

Уже умеешь

Вызови у элемента «productContainer» метод «remove»

177

Slide image


178

Уже умеешь

Добавь элементу «emptyCart» класс «showAnItem»

179

Slide image


180

Уже умеешь

Поменяй текст в переменной «productCounter» на ноль

181

Slide image


productCart

Slide image

Show answer

Auto Play

Slide 1 / 181

SLIDE