Advertisement
Todorov_Stanimir

09. Cards Exercise: DOM

Oct 9th, 2019
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.    function getCard1(e1) {
  3.       e1.target.setAttribute('src', 'images/whiteCard.jpg')
  4.       document.getElementById('result').getElementsByTagName('span')[0].textContent = e1.target.name;
  5.       if (document.getElementById('result').getElementsByTagName('span')[2].textContent !== '') { compareCards() };
  6.    }
  7.  
  8.    function getCard2(e2) {
  9.       e2.target.setAttribute('src', 'images/whiteCard.jpg')
  10.       document.getElementById('result').getElementsByTagName('span')[2].textContent = e2.target.name;
  11.       if (document.getElementById('result').getElementsByTagName('span')[0].textContent !== '') { compareCards() };
  12.    }
  13.  
  14.    changeBorder = (input, currentCard, newBorder) => {
  15.       input.map(card => {
  16.          if (card.getAttribute('name') === currentCard)
  17.             card.style.border = `${newBorder}`;
  18.       });
  19.    }
  20.  
  21.    function compareCards() {
  22.       const card1 = document.getElementById('result').getElementsByTagName('span')[0].textContent.trim();
  23.       const card2 = document.getElementById('result').getElementsByTagName('span')[2].textContent.trim();
  24.       if (Number(card1) > Number(card2)) {
  25.          changeBorder(Array.from(document.getElementById('player1Div').getElementsByTagName('img')), card1, '2px solid green')
  26.          changeBorder(Array.from(document.getElementById('player2Div').getElementsByTagName('img')), card2, '2px solid red')
  27.       } else if (Number(card2) > Number(card1)) {
  28.          changeBorder(Array.from(document.getElementById('player2Div').getElementsByTagName('img')), card2, '2px solid green')
  29.          changeBorder(Array.from(document.getElementById('player1Div').getElementsByTagName('img')), card1, '2px solid red')
  30.       }
  31.       let outputDivElem = document.getElementById('history');
  32.       outputDivElem.innerHTML += `[${card1} vs ${card2}] `;
  33.       document.getElementById('result').getElementsByTagName('span')[0].textContent = '';
  34.       document.getElementById('result').getElementsByTagName('span')[2].textContent = '';
  35.    }
  36.    Array.from(document.getElementById('player1Div').getElementsByTagName('img')).map(card => card.addEventListener('click', getCard1));
  37.    Array.from(document.getElementById('player2Div').getElementsByTagName('img')).map(card => card.addEventListener('click', getCard2));
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement