Advertisement
Somo4k

Songs

Oct 20th, 2022 (edited)
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.94 KB | None | 0 0
  1. window.addEventListener('load', solve);
  2.  
  3. function solve() {
  4. const input = {
  5. genre : document.getElementById('genre'),
  6. name : document.getElementById('name'),
  7. author : document.getElementById('author'),
  8. date : document.getElementById('date'),
  9. addSongBtn : document.getElementById('add-btn')
  10. }
  11.  
  12. const wraper = {
  13. allHits : document.querySelector('.all-hits-container'),
  14. savedHits : document.querySelector('.saved-container')
  15. }
  16.  
  17. input.addSongBtn.addEventListener('click', addSong);
  18.  
  19. let likeElement = document.querySelector('.likes').children[0];
  20. let totalLikes = 0;
  21.  
  22. function addSong(event){
  23. event.preventDefault();
  24.  
  25. const genre = input.genre.value;
  26. const name = input.name.value;
  27. const author = input.author.value;
  28. const date = input.date.value;
  29.  
  30. if( genre == '' || name == '' || author == '' || date == ''){
  31. return;
  32. }
  33.  
  34. const div = document.createElement('div');
  35. div.className = 'hits-info';
  36. div.innerHTML = `<img src="./static/img/img.png">
  37. <h2>Genre: ${genre}</h2>
  38. <h2>Name: ${name}</h2>
  39. <h2>Author: ${author}</h2>
  40. <h3>Date: ${date}</h3>
  41. <button class="save-btn">Save song</button>
  42. <button class="like-btn">Like song</button>
  43. <button class="delete-btn">Delete</button>`
  44.  
  45. let saveBtn = div.querySelector('.save-btn');
  46. let likeBtn = div.querySelector('.like-btn');
  47. let deleteBtn = div.querySelector('.delete-btn');
  48.  
  49. saveBtn.addEventListener('click', saveSong);
  50. likeBtn.addEventListener('click', likeSong);
  51. deleteBtn.addEventListener('click', deleteSong);
  52.  
  53. wraper.allHits.appendChild(div);
  54.  
  55. input.genre.value = '';
  56. input.name.value = '';
  57. input.author.value = '';
  58. input.date.value = '';
  59.  
  60. function saveSong(){
  61. wraper.savedHits.appendChild(div);
  62. likeBtn.remove();
  63. saveBtn.remove();
  64. }
  65.  
  66. function likeSong(){
  67. totalLikes++;
  68. likeElement.textContent = `Total Likes: ${totalLikes}`
  69. likeBtn.disabled = true;
  70. }
  71.  
  72. function deleteSong(){
  73. div.remove()
  74. }
  75. }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement