前提・実現したいこと
html,JavaScriptでサイトを作っています。
ボタンをクリックしたら音楽が変わるようにしたいです。
具体的には「memories.mp3」を「pulse.mp3」に変更したく、
javaScriptのattrを使ったのですが、
ファイルが変わりません。
どこがまずいのでしょうか?
どうぞよろしくお願いします。
なお、Chromeでautoplayが動作しない対策で、
無音ファイルを先に読み込むようにしてあります。
発生している問題・エラーメッセージ
エラーメッセージは出ないが、音楽ファイルが変更されず ページのソースを見ても変更されてない。
該当のソースコード
html
1<div id="hoge"> 2 <iframe src="audio/silence.mp3" allow="autoplay" id="audio" style="display:none"></iframe> 3 <audio id="player" controlslist="nodownload" controls <?php if($user_vol==2){ echo("autoplay"); } ?> 4 loop> 5 <source src="audio/memories.mp3" type="audio/mp3"> 6 </audio> 7</div>
JavaScript
1$('#botton_hoge').on('click', () => { 2 console.log("botton_hoge click"); 3 $('#hoge source').attr('src', 'audio/pulse.mp3'); 4});
試したこと
1.attrの対象を、
$('#hoge player source')
$('#player source')
などにしましたが、変更されませんでした。
2.ソースファイル部分をdivで囲み、
<div id="foo"> <source src="audio/memories.mp3" type="audio/mp3"> </div>として、
$('#foo source').attr('src', 'audio/pulse.mp3');
としましたがだめでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/21 01:39
2020/11/22 01:15