ファイル操作のポートフォリオを作っているものです。
疑問に思ったことがあったので投稿しました。
定数の部分でgetElementByIdの'sample'と'sampleCurrentTime'が下の行に存在する。かつonloadされてからじゃないと生成されないのになぜ要素を取得することができるのか謎です。エラーがでるイメージですが、そのidは存在しませんよと。
このもやもやを解決したいです。回答お待ちしてます。
JS
1コード 2const sound = document.getElementById('sound'); 3const audition = document.getElementById('audition'); 4const currentTime = document.getElementById('currentTime'); 5const elementReference = document.getElementById('sample'); 6const sampleCurrentTime = document.getElementById('sampleCurrentTime'); 7 8const fileTitle = () => { 9 const files = sound.files; 10 const reader = new FileReader(); 11 const audio = new FileReader(); 12 const url = reader.readAsDataURL(files[0]); 13 14 reader.onload = () => { 15 dataUrl = reader.result; 16 document.getElementById('sample').remove(); 17 audition.innerHTML = '<audio src="' + dataUrl + '"controls id="sample"></audio>'; 18 currentTime.innerHTML = '<input type="range" value="0" id="sampleCurrentTime" min="0" step="1" onchange="setCurrentTime(this.value)">'; 19 }; 20 } 21 22sound.addEventListener('change', fileTitle);
HTML
1コード 2<input class="upload_hidden offset-9" type="file" id="sound" accept="audio/*" name="sound"> 3<div id="audition"><audio id="sample"></audio></div> 4<div id="currentTime"></div>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/23 09:52