Advertisement
Guest User

Untitled

a guest
Feb 28th, 2020
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.85 KB | None | 0 0
  1. const container = document.querySelector('.container');
  2. const songsContainer = container.querySelector('.songs-container');
  3. const addButton = container.querySelector('.input__btn_add');
  4. const resetButton = container.querySelector('.input__btn_reset');
  5.  
  6. function renderAdded() {
  7. const songs = songsContainer.querySelectorAll('.song');
  8. const noSongsElement = container.querySelector('.no-songs');
  9.  
  10. if (songs.length === 0) {
  11. resetButton.setAttribute('disabled', true);
  12. resetButton.classList.add('input__btn_disabled');
  13. noSongsElement.classList.remove('no-songs_hidden');
  14. } else {
  15. resetButton.removeAttribute('disabled');
  16. resetButton.classList.remove('input__btn_disabled');
  17. noSongsElement.classList.add('no-songs_hidden');
  18. }
  19. }
  20.  
  21. function addSong() {
  22. const artist = document.querySelector('.input__text_artist');
  23. const song = document.querySelector('.input__text_song');
  24.  
  25. const trackContainer = document.createElement('div');
  26. trackContainer.classList.add('song');
  27.  
  28. const artistElement = document.createElement('h4');
  29. artistElement.classList.add('song__artist');
  30. artistElement.textContent = artist.value;
  31.  
  32. const titleElement = document.createElement('p');
  33. titleElement.classList.add('song__title');
  34. titleElement.textContent = song.value;
  35.  
  36. const songButtonElement = document.createElement('button');
  37. songButtonElement.classList.add('song__like');
  38.  
  39. trackContainer.appendChild(artistElement);
  40. trackContainer.appendChild(titleElement);
  41. trackContainer.appendChild(songButtonElement);
  42.  
  43. songsContainer.appendChild(trackContainer);
  44.  
  45. artist.value = '';
  46. song.value = '';
  47.  
  48. renderAdded();
  49. }
  50.  
  51. function resetPlaylist() {
  52. songsContainer.innerHTML = '';
  53.  
  54. renderAdded();
  55. }
  56.  
  57. addButton.addEventListener('click', addSong);
  58. resetButton.addEventListener('click', resetPlaylist);
  59.  
  60. renderAdded();
  61.  
  62. const artistInput = document.querySelector('.input__text_artist');
  63. const songInput = document.querySelector('.input__text_song');
  64.  
  65. function keyHandler(event) {
  66. if (event.key === 'Enter') {
  67. addSong();
  68. }
  69. }
  70.  
  71. artistInput.addEventListener('keydown', keyHandler);
  72. songInput.addEventListener('keydown', keyHandler);
  73.  
  74. const playListTitles = [
  75. 'Игорь Тальков. Лучшее',
  76. 'Музыка категории Б',
  77. 'Подборка с фестиваля FYRE'
  78. ];
  79.  
  80. function doubleClickHandler(event) {
  81. event.target.textContent = playListTitles[Math.floor(Math.random() * playListTitles.length)];
  82.  
  83. document.querySelector('.cover__heading').removeEventListener('dblclick', doubleClickHandler);
  84. }
  85.  
  86. document.querySelector('.cover__heading').addEventListener('dblclick', doubleClickHandler);
  87.  
  88. songsContainer.addEventListener('click', function (event) {
  89. if (event.target.classList.contains('song__like')) {
  90. event.target.classList.toggle('song__like_active');
  91. }
  92. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement