-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
149 lines (105 loc) · 4.45 KB
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
let songs = [
{src:"songs/1.mp3", name: "Amarillo" , image: "covers/1.png"},
{src:"songs/2.mp3", name: "Azul" , image: "covers/2.jpg"},
{src:"songs/3.mp3", name: "Rojo " , image: "covers/3.jpg"},
{src:"songs/4.mp3", name: "Rosa" , image: "covers/4.jpg"},
{src:"songs/5.mp3", name: "Morado" , image: "covers/5.jpg"},
{src:"songs/6.mp3", name: "Verde " , image: "covers/6.jpg"},
{src:"songs/7.mp3", name: "Negro" , image: "covers/7.jpg"},
{src:"songs/8.mp3", name: "Gris" , image: "covers/8.jpg"},
{src:"songs/9.mp3", name: "Arcoiris " , image: "covers/9.jpg"},
{src:"songs/10.mp3", name: "Blanco " , image: "covers/10.png"}
];
// audio player in html
let audioPlayerOfHtml = document.getElementById('audioPlayerOfHtml');
// next button for next song
let nextOrPrevSongcount = 0;
function nextOrPrevSong(x){
nextOrPrevSongcount += x;
if(nextOrPrevSongcount < 0){
nextOrPrevSongcount = 0
}
else if(nextOrPrevSongcount > songs.length-1){
nextOrPrevSongcount = songs.length -1
}
nextOrPrevSong2()
}
// add first song automaticaly
let firstSong = songs[0].src;
let firstSongName = songs[0].name;
audioPlayerOfHtml.src = firstSong;
// song name.....
let currentSongName = document.querySelector('.currentSongName');
// display first song name auto...
currentSongName.innerHTML = firstSongName;
function nextOrPrevSong2(){
let currentSong = songs[nextOrPrevSongcount];
let src = currentSong.src;
let name = currentSong.name;
currentSongName.innerHTML = name;
audioPlayerOfHtml.src = src;
pauseSongFuntion()
setTimeout(() => {
playSongFuntion()
}, 100 );
let songDetails = document.getElementsByClassName('songDetails')
songDetails[nextOrPrevSongcount].classList.add('classForControllPeronalPlayPause')
}
// song Player Container for add class (bigClassForControll) to changes
let songPlayerContainer = document.querySelector('.songPlayerContainer')
// play the song
play.addEventListener('click', playSongFuntion);
function playSongFuntion(){
audioPlayerOfHtml.play();
songPlayerContainer.classList.add('bigClassForControll')
let songDetails = document.getElementsByClassName('songDetails')
songDetails[nextOrPrevSongcount].classList.add('classForControllPeronalPlayPause')
}
// pause the song
pause.addEventListener('click', pauseSongFuntion);
function pauseSongFuntion(){
removePauseIconFromAll()
audioPlayerOfHtml.pause()
songPlayerContainer.classList.remove('bigClassForControll')
}
// putting song list
let songsPlaylist = document.querySelector('.songsPlaylist')
songs.forEach((element, index) => {
songsPlaylist.innerHTML += `<div class="songDetails">
<img src="${element.image}" alt="">
<span class="songName">${element.name}</span>
<i class="fa fa-play-circle-o personalPlay" aria-hidden="true" ></i>
<i class="fa fa-pause-circle-o personalPause" aria-hidden="true" onclick="pauseSongFuntion()"></i>
</div>`
});
// event listener on personal play
let personalPlay = document.getElementsByClassName('personalPlay')
Array.from(personalPlay).forEach((element,index) => {
element.addEventListener('click', (e)=>{
removePauseIconFromAll()
if(nextOrPrevSongcount != index){
nextOrPrevSongcount = index;
nextOrPrevSong2()
}
else{
playSongFuntion()
}
/* class(classForControllPeronalPlayPause) for add in js for personal song pause and plaY */
e.target.parentNode.classList.add('classForControllPeronalPlayPause');
});
});
// function for remove class for sho play icon.............
function removePauseIconFromAll(){
let songDetails = document.getElementsByClassName('songDetails')
for (const iterator of songDetails) {
iterator.classList.remove('classForControllPeronalPlayPause')
}
}
// event listener on personal Pause............
let personalPause = document.getElementsByClassName('personalPause')
for (const iterator of personalPause) {
iterator.addEventListener('click', (e)=>{
/* class(classForControllPeronalPlayPause) for remove in js for personal song pause and plaY */
e.target.parentNode.classList.remove('classForControllPeronalPlayPause');
});
};