$(document).ready(function() { $('button').click(function() { var btn = $(this).attr('class'); if (btn == 'play') { $('audio').each(function() { var stop_all = $(this)[0]; stop_all.pause(); $(this).prev().removeClass('pause'); $(this).prev().addClass('play'); $(this).parent().parent().removeClass('active_music'); }); var music = $(this).next()[0]; music.play(); $(this).removeClass('play'); $(this).addClass('pause'); $(this).parent().parent().addClass('active_music'); } else if (btn == 'pause') { var music = $(this).next()[0]; music.pause(); $(this).removeClass('pause'); $(this).addClass('play'); $(this).parent().parent().removeClass('active_music'); } }); });
Głównym założeniem tego kodu jest to, aby po kliknięciu na przycisk "play" bądź "pause" przy wybranej ścieżce dźwiękowej odtwarzało dany kawałek / zatrzymało go. Wszystko pięknie działa w Chrome oraz w Mozilli (bodajże nawet w IE) aczkolwiek w OPERZE oraz SAFARI metoda play() jakby nie działała... Cały Javascript działa okej, działają przejścia między panelami, zmiana przycisków i inne ale muzyka nie odtwarza się.
Podobnie na innej podstronie mam zaimitowane "autoplay" głównego motywu dźwiękowego za pomocą play() zaimplementowanego na początku skryptu - jak się domyślacie podobna historia.
Czy Opera nie wspiera metod na <audio> ? z tego co patrzę na w3cschools i innych stron to jednak wspiera...
Jeśli ma to znaczenie to odtwarzam pliki mp3.
Z góry dziękuję za pomoc, pozdrawiam !
@edit
Problem rozwiązany... Opera nie wspiera mp3 ...