Advertisement
weeez

5 star solution

Sep 26th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     function setup() {
  2.       let ratingContainer = document.getElementById('rating');
  3.  
  4.       function resetRatings(){
  5.         for(let i = 0; i < ratingContainer.children.length; i++){
  6.             ratingContainer.children[i].classList = [];
  7.           }
  8.       }
  9.  
  10.       ratingContainer.addEventListener('click', (e) => {
  11.         if(e.target.tagName === 'SPAN'){
  12.           resetRatings();
  13.           let ratingContainerArray = [].slice.call(ratingContainer.children);
  14.           let starIndex = ratingContainerArray.indexOf(e.target);
  15.  
  16.           for(let i = 0; i <= starIndex; i++){
  17.             ratingContainer.children[i].classList.add('active');
  18.           }
  19.         }        
  20.       })
  21.     }
  22.  
  23.     // Example case.
  24.     document.body.innerHTML = `
  25.     <div id='rating'>
  26.       <span>*</span>
  27.       <span>*</span>
  28.       <span>*</span>
  29.       <span>*</span>
  30.       <span>*</span>
  31.     </div>`;
  32.  
  33.     setup();
  34.  
  35.     document.getElementsByTagName("span")[2].click();
  36.     console.log(document.body.innerHTML);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement