Advertisement
radostina92

furnitureStore

Aug 12th, 2021
887
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. window.addEventListener('load', solve);
  2.  
  3. function solve() {
  4.     let bodyFurniture = document.getElementById('furniture-list');
  5.     let totalPrice = document.querySelector('.total-price');
  6.     function ce(type, content, className){
  7.         const result = document.createElement(type);
  8.         result.textContent = content;
  9.         if(className){
  10.             result.className = className;
  11.         }
  12.         return result;
  13.     }
  14.  
  15.     let button = document.getElementById('add').addEventListener('click', (e) => {
  16.         e.preventDefault();
  17.         let model = document.querySelector('input[name=model]');
  18.         let year = document.querySelector('input[name=year]');
  19.         let description = document.getElementById('description');
  20.         let price = document.querySelector('input[name=price]');
  21.  
  22.         if(model.value != '' && description.value != '' && Number(year.value) > 0 && Number(price.value) > 0){
  23.             let trEl = ce('tr', '', 'info');
  24.             let tdModel = ce('td', `${model.value}`);
  25.             let pricetoFixed = Number(price.value).toFixed(2);
  26.             let tdPrice = ce('td', `${pricetoFixed}`);
  27.             let tdElem = ce('td');
  28.             let moreBtn = ce('button', 'More Info', 'moreBtn');
  29.             let buyBtn = ce('button', 'Buy it', 'buyBtn');
  30.  
  31.             tdElem.appendChild(moreBtn);
  32.             tdElem.appendChild(buyBtn);
  33.  
  34.             let trHide = ce('tr', '', 'hide');
  35.             let yearTr = ce('td', `Year: ${Number(year.value)}`);
  36.             let trDesc = ce('td', `Description: ${description.value}`);
  37.             trDesc.setAttribute('colspan', '3');
  38.             trHide.appendChild(yearTr);
  39.             trHide.appendChild(trDesc);
  40.  
  41.             trEl.appendChild(tdModel);
  42.             trEl.appendChild(tdPrice);
  43.             trEl.appendChild(tdElem);
  44.  
  45.  
  46.             bodyFurniture.appendChild(trEl);
  47.             bodyFurniture.appendChild(trHide);
  48.  
  49.             moreBtn.addEventListener('click', () => {
  50.                 if(moreBtn.textContent == 'More Info'){
  51.                     moreBtn.textContent = 'More Info' ? 'Less Info' : 'More Info';
  52.                     trHide.style.display = 'none' ? 'contents' : 'none';
  53.                 } else if(moreBtn.textContent == 'Less Info'){
  54.                     moreBtn.textContent = 'Less Info' ? 'More Info' : 'Less Info';
  55.                     trHide.style.display = 'contents' ? 'none' : 'contents';
  56.                 }
  57.            
  58.             });
  59.  
  60.             buyBtn.addEventListener('click', () => {
  61.                 trEl.remove();
  62.                 trHide.remove();
  63.                
  64.                 totalPrice.textContent = (Number(totalPrice.textContent) + Number(pricetoFixed)).toFixed(2);
  65.             });
  66.         model.value = '';
  67.         year.value = '';
  68.         description.value = '';
  69.         price.value = '';
  70.         }
  71.        
  72.     });
  73. }
  74.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement