var notes = ['do', 'do#', 're', 're#', 'mi', 'fa', 'fa#',
'sol', 'sol#', 'la', 'la#', 'si'
];
function stepUp() {
var text = document.getElementById('textarea');
if (typeof text.count == 'undefined') {
text.count = 0;
} else {
text.count++;
}
if (text.count == notes.length) {
text.count = 0;
}
text.innerHTML = notes[text.count];
}
function stepDown() {
var text = document.getElementById('textarea');
text.count--;
if (text.count == notes.length) {
text.count = 0;
}
if (text.count < 0) {
text.count = 11;
}
text.innerHTML = notes[text.count];
}
/* Load file*/
function load_song() {
var fileToLoad = document.getElementById("load_button").files[0];
var fileReader = new FileReader();
fileReader.onload = function(fileLoadedEvent) {
var textFromFileLoaded = fileLoadedEvent.target.result;
document.getElementById("textarea").value = textFromFileLoaded;
};
fileReader.readAsText(fileToLoad, "UTF-8");
}
body {
font-family: Arial, sans-serif;
background-color: #333;
color: #ddd;
text-align: center;
}
container {
display: flex;
margin: 2vmin;
position: relative;
top: 3vmin;
}
<div class="container">
<textarea id="textarea" rows="5" cols="50">---</textarea>
</div>
<button onclick="stepUp()" class="stepUp_Button">Up</button>
<button onclick="stepDown()" class="stepDown_Button">Down</button>
<!-- Load button -->
<span>Load File: </span>
<input type="file" id="load_button">
<button class="load_button" onclick="load_song()">Load</button>
Gostaria de escrever na textarea em ordem aleatória as notas
"do do# re re# mi fa fa# sol sol# la la# si"
(ou carregue um arquivo .txt com essas notas escritas em ordem aleatória
sol mi do# fa si
etc.)
e pressionando o botão para cima para aumentá-los todos +1
, ou seja do => do#
, e pressionando o botão para baixo para diminuí-los todos -1
.do => si
Embora pareça funcionar para uma nota, se eu escrever na área de texto e pressionar o botão para cima, não funciona de jeito nenhum, assim como não funciona se eu carregar um arquivo .txt simples. Qualquer ideia seria extremamente útil. Obrigado!