Biz uy bo'limi bilan tugatdik. Lekin bizning karuselimiz ishlamayapti, keling, ishlaylik. app.jsFaylni oching va kodlashni boshlang.
///// carousels/////////////////
changeCarousel();
}, 3000);
Ko'rishingiz mumkinki, biz avval karusel elementimizni tanlaymiz va har 3 soniyadan so'ng biz tasvirlar activesinfini almashtiramiz.
Endi o'yinchi bo'limimizni yaratamiz.
O'yinchi Uni minimallashtirishdan boshlang.
song 1
artist 1
00 : 00
00 : 00
hideAgar siz bizning o'yinchi tuzilmamizni ko'rsangiz, bizda lot elementlari uchun sinf borligini ko'rasiz . Bu hidesinf elementni minimallashtirish ko'rinishida yashirilishini bildiradi. Va biz barcha elementlarga bir xil sinf berdik, shuning uchun ularni CSS-da osongina uslublashimiz mumkin.
* music player */
-webkit-appearance: none;
height: 40px;
width: 10px;
background: var(--primary-color);
box-shadow: -200px 0 1px 200px var(--primary-color);
}
Va bu uslublarni tekshirish uchun hozircha shunday activesinfga qo'shing.music-player-section
...
Chiqish
Biz bu o'yinchini nihoyat funksional holga keltiramiz. Hozircha ushbu activesinfni o'yinchi bo'limidan olib tashlang. Va keling, pleylist bo'limini yarataylik.
Pleylist bo'limi
font-size: 22px;
text-transform: capitalize;
}
Chiqish
Biz barcha uslublarni tugatdik. activeSinfni pleylist bo'limidan ham olib tashlang .
Keling, ushbu musiqa ilovasini to'liq ishlab chiqarish uchun JS ga murojaat qilaylik.
Navigatsiya Bizning musiqa pleyerimizda uchta bo'lim mavjud. Shuning uchun biz uchun ushbu ilova uchun navigatsiya tizimini sozlash juda muhim. Bu orqali biz bir bo'limdan boshqasiga osongina o'tishimiz mumkin. to'g'rimi? Shunday qilib, buni kodlang.
/////////////////////navigations////////////
// checking for double click manually idk why default dbclick event was not working with this project If you know what could the problem Kindly tell me in the discussion below
if(clickCount >= 2){
musicPlayerSection.classList.add('active');
clickCount = 1;
return;
}
clickCount++;
setTimeout(() => {
clickCount = 1;
}, 250);
})
Bu asosiy JS va men kodga sharhlar ham qo'shdim. Shunday qilib, agar siz ushbu kodda shubhangiz bo'lsa, mendan muhokamada so'rang. Navigatsiyamiz tugadi. Shunday qilib, keling, musiqa pleyerimizni yarataylik.
Musiqa Musiqa pleyeri uchun sahifamizda audio manba kerak, lekin bizda yo'q. Shunday qilib, buning uchun ichida audio element yarating index.html. Ushbu elementni tana tegining boshida yarating.
Endi biz juda ko'p funktsiyalarni yaratishimiz kerak, shuning uchun boshlashdan oldin manipulyatsiya uchun kerak bo'lishi mumkin bo'lgan barcha elementlarni tezda tanlaylik.
/////// music
let currentMusic = 0;
const music = document.querySelector('#audio-source');
const backwardBtn = document.querySelector('i.fa-backward');
const playBtn = document.querySelector('i.fa-play');
const pauseBtn = document.querySelector('i.fa-pause');
const repeatBtn = document.querySelector('span.fa-redo');
const volumeBtn = document.querySelector('span.fa-volume-up');
const volumeSlider = document.querySelector('.volume-slider');
Bu juda ko'p tanlov, shunday emasmi. Endi musiqa manbasini sozlang.
// funtion for setting up music
const setMusic = (i) => {
seekBar.value = 0;
let song = songs[i];
currentMusic = i;
Men ushbu qismni o'quv videosidan ko'rishni tavsiya qilaman, chunki men bu kodni u erda bosqichma-bosqich qismlarga bo'lib qildim.
E'tibor qilishingiz mumkin, biz qo'ng'iroq qilayotgan vaqtni belgilash uchun formatTime. Shunday qilib, buni hozir yarating.
// format duration in 00 : 00 format
const formatTime = (time) => {
let min = Math.floor(time / 60);
if(min < 10){
min = `0` + min;
}
let sec = Math.floor(time % 60);
if(sec < 10){
sec = `0` + sec;
}
return `${min} : ${sec}`;
}
Keling, voqealarni ijro etish/pauza qilishni qo'shamiz.
// playBtn click event
music.pause();
pauseBtn.classList.remove('active');
playBtn.classList.add('active');
})
Biz musiqani sozlash va uni o'ynash/to'xtatib turish bilan tugatdik. Endi oldinga/orqaga voqealarni qiling.
// forward btn
music.volume = volumeSlider.value;
})
Futbolchimiz tugadi. Biz qilishimiz kerak bo'lgan oxirgi narsa - pleylistimizni funktsional qilish. Buning uchun buni qiling.
queue.forEach((item, i) => {
item.addEventListener('click', () => {
setMusic(i);
playBtn.click();
})
})