Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve() {
- document
- .getElementsByTagName('button')[0]
- .addEventListener('click', generate);
- document
- .getElementsByTagName('button')[1]
- .addEventListener('click', buy);
- function generate(e) {
- const objects = JSON.parse(
- document
- .getElementsByTagName('textarea')[0]
- .value,
- );
- objects.forEach((obj) => { objectGenerator(obj); });
- }
- function objectGenerator(obj) {
- const trElement = document.createElement('tr');
- const imgElementTd = document.createElement('td');
- imgElementTd.innerHTML = `<img src="${obj.img}">`;
- document
- .getElementsByTagName('tbody')[0]
- .appendChild(trElement);
- trElement.appendChild(imgElementTd);
- const nameElementTd = document.createElement('td');
- const nameElementP = document.createElement('p');
- nameElementP.textContent = obj.name;
- nameElementTd.appendChild(nameElementP);
- trElement.appendChild(nameElementTd);
- const priceElementP = document.createElement('p');
- priceElementP.textContent = obj.price;
- const priceElementTd = document.createElement('td');
- priceElementTd.appendChild(priceElementP);
- trElement.appendChild(priceElementTd);
- const decFactorElement = document.createElement('td');
- const decFactorElementP = document.createElement('p');
- decFactorElementP.textContent = obj.decFactor;
- decFactorElement.appendChild(decFactorElementP);
- trElement.appendChild(decFactorElement);
- const checkBoxTd = document.createElement('td');
- checkBoxTd.innerHTML = '<input type="checkbox">';
- trElement.appendChild(checkBoxTd);
- }
- function buy(e) {
- const boughtFurniture = [];
- let totalPrice = 0;
- let avgDecFactor = 0;
- let count = 0;
- const allTr = Array.from(document.getElementsByTagName('tr'));
- for (let i = 2; i < allTr.length; i++) {
- if (allTr[i].children[4].children[0].checked) {
- count += 1;
- boughtFurniture.push(allTr[i].children[1].textContent);
- totalPrice += +allTr[i].children[2].textContent;
- avgDecFactor += +allTr[i].children[3].textContent;
- }
- }
- avgDecFactor /= (count);
- document
- .getElementsByTagName('textarea')[1]
- .value = `Bought furniture: ${
- boughtFurniture.join(', ')
- }\nTotal price: ${
- totalPrice.toFixed(2)
- }\nAverage decoration factor: ${
- avgDecFactor}`;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement