Задать вопрос
Mackaybravo
@Mackaybravo
программист, фрилансер

Почему музыка не останавливается?

Вот код. Музыка воспроизводится, но когда жму на паузу, музыка все равно играет, и если жму 2 трек, воспроизводится 2 трека сразу. В чем косяк. Все выполняется в if и else а pause не хочет.

$('span.pause-play-music').on('click', function(){

	var dataInfo = $(this).attr('data-music');

	var musicIndex = $(this).parent('li').index();

	$('.music-block-info ul li').find('span.pause-play-music').attr('data-music','pause');
	$('.music-block-info ul li').find('span.pause-play-music').html('<i class="fa fa-play"></i>');

	var musicSrc = $('.music-block-info ul li').eq(musicIndex).find('audio').attr('src');

	var music = new Audio(musicSrc);

	if(dataInfo == 'pause'){

		$('.music-block-info ul li').eq(musicIndex).find('span.pause-play-music').attr('data-music','play');
		$('.music-block-info ul li').eq(musicIndex).find('span.pause-play-music').html('<i class="fa fa-pause"></i>');

		music.play();		

	}else{

		music.pause();

		$('.music-block-info ul li').eq(musicIndex).find('span.pause-play-music').attr('data-music','pause');
		$('.music-block-info ul li').eq(musicIndex).find('span.pause-play-music').html('<i class="fa fa-play"></i>');
	}

});
  • Вопрос задан
  • 241 просмотр
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
barker
@barker
Потому что вы при каждом нажатии кнопки создаёте новый инстанс Audio, при этом затирая ссылку на уже играющий.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы