Ниже код, в котором должна иконка microphone
меняться на microphone-slash
и наоборот в зависимости от режима отображения (воспроизведение или пауза).
Но этого не происходит. Не могу понять, в чём дело!
let play = document.querySelector('.play');
// создаем объект AUDIO
const audio = new Audio();
// сразу выставляем уровень звука на 20%
let volume = .2
audio.volume = volume;
// присваиваем объекту AUDIO трек
audio.src = 'ytytytytytyt.ru:8040/…';
// показываем какой уровень выставлен
document.querySelector('.vol').innerHTML = audio.volume * 10;
// функция для понижения уровня звука
document.querySelector('.volume-down').addEventListener('click', () => {
if (audio.volume !== 0) {
volume -= .1;
// метод .toFixed() нужен для того чтобы убрать
// все лшние цифры кроме первой после точки
audio.volume = volume.toFixed(1);
document.querySelector('.vol').innerHTML = audio.volume * 10;
audio.muted = false;
}
});
document.querySelector('.volume-up').addEventListener('click', () => {
if (audio.volume !== 1) {
volume += .1;
audio.volume = volume.toFixed(1);
document.querySelector('.vol').innerHTML = audio.volume * 10;
audio.muted = false;
}
});
// функция для полного отключения звука
document.querySelector('.mute').addEventListener('click', () => {
audio.muted = audio.muted == false ? true : false;
})
// функция для запуска и паузы музыки
play.addEventListener('click', () => {
if (audio.paused) {
audio.play();
play.classList.add('fa fa-microphone slash');
play.classList.remove('fa fa-microphone');
} else {
audio.pause();
play.classList.remove('fa fa-microphone-slash');
play.classList.add('fa fa-microphone');
}
})
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous" />
<!--кнопка запуска плеера она же и пауза-->
<button class="play fa fa-microphone"></button>
<!--кнопка понижения звук-->
<button class="volume-down">-</button>
<!--кнопка повышение звука-->
<button class="volume-up">+</button>
<!--уровень звука-->
<span class="vol"></span>
<!--кнопка отключения звука-->
<button class="mute">Mute</button>
Убери fa
play.addEventListener('click', () => {
if (audio.paused) {
audio.play();
play.classList.add('fa-microphone-slash');
play.classList.remove('fa-microphone');
} else {
audio.pause();
play.classList.remove('fa-microphone-slash');
play.classList.add('fa-microphone');
}
})
Пример наглядный... Что бы удалять и добавлять методом classList.add(
надо писать class-Ы
через запятую каждый класс отдельным аргументом.
А у тебя play.classList.remove('fa fa-microphone');
let play = document.querySelector('.play')
let flag = true;
play.addEventListener('click', () => {
if (flag === true) {
play.classList.remove('fa', 'pa');
play.classList.add('zz', 'rr');
flag = false;
console.log(play);
} else {
play.classList.add('fa', 'pa');
play.classList.remove('zz', 'rr');
flag = true;
console.log(play);
}
})
<div class="play fa pa">play</div>
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
С новым годом всех! Есть ссылка <a href='id?<php script>'>Статистика</a> она у меня находиться в меню юзера, но если просто добавить #tabs-2 к той...
Код возвращает Object object - как совместить всё в рамках replaceWith без дополнительных строк изначального присвоения и последующего встраивания...