User should be able to choose guitar fretboard instead of piano to play notes on.
<html> <head> <style> #guitar { border-spacing: 0; border-width: 6px 1px 1px 1px; border-style: solid; border-color: black; margin: 0; padding: 0; } #guitar th, #guitar th div { width: 0; padding: 0; overflow: visible; text-align: center; pointer-events: none; font-size: 12px; } #guitar td { width: 12px; background-repeat: repeat-y; background-color: white; background-position: center; border-width: 0 0 2px 0; border-style: solid; border-color: black; margin: 0; padding: 0; vertical-align: bottom; text-align: center; font-size: 12px; line-height: 14px; cursor: pointer; } </style> <script> var fretDistance = [ 47, 45, 42, 40, 38, 35, 34, 31, 30, 28, 26, 25, 23, 22, 21, 20, 18, 18, 17, 16 ] var pearl = [ "", "", "", "", "◯", "", "◯", "", "◯", "", "", "◯ ◯", "", "", "◯", "", "", "", "", ""] function genGuitar() { for (var i = 0; i < fretDistance.length; ++i) { var tr = document.createElement("tr") for(var s = 0; s < 6; ++s) { var td = document.createElement("td") td.style.height = fretDistance[i] + "px" td.style.backgroundImage = "url('blackdot" + (s <= 2 ? "3" : "2") + ".png')" td.onmouseover = function() { event.target.innerHTML = "⬤" } td.onmouseout = function() { event.target.innerHTML = " " } tr.appendChild(td) if (s == 2) { var th = document.createElement("th") tr.appendChild(th) switch (i) { case 11: th.innerHTML = '<div style="position: relative; left: -24px">◯ ◯</div>' break case 4: case 6: case 8: case 14: th.innerHTML = '<div style="position: relative; left: -6px">◯</div>' break } } } guitar.appendChild(tr) } } </script> </head> <body onload="genGuitar()"> <table id="guitar"> </table> </body> </html>
Log in to post a comment.
Last edit: Csaba Skrabák 2021-09-30