music: resize wall of text on size changed

This commit is contained in:
Agahnim 2026-05-13 14:24:54 +02:00
parent cf7c1814c2
commit c32a5659a5
Signed by: Agahnim
SSH key fingerprint: SHA256:Zj65PJnE0dRYye8Ltk/qDglynyXUxJngQ9qqx/VI+b4

View file

@ -7,22 +7,33 @@
<script>
(function () {
const chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
const container = document.getElementById("bg-text");
if (!container) return;
const colWidth = 20;
const rowHeight = 24;
const cols = Math.ceil(window.innerWidth / colWidth);
const rows = Math.ceil(window.innerHeight / rowHeight);
const container = document.getElementById("bg-text");
if (!container) return;
for (let c = 0; c < cols; c++) {
const col = document.createElement("vertical-marquee-inner");
col.style.left = c * colWidth + "px";
for (let r = 0; r < rows; r++) {
const span = document.createElement("text");
span.textContent = chars[Math.floor(Math.random() * chars.length)];
col.appendChild(span);
function build() {
container.innerHTML = "";
const cols = Math.ceil(window.innerWidth / colWidth);
const rows = Math.ceil(window.innerHeight / rowHeight);
for (let c = 0; c < cols; c++) {
const col = document.createElement("vertical-marquee-inner");
col.style.left = c * colWidth + "px";
for (let r = 0; r < rows; r++) {
const span = document.createElement("text");
span.textContent = chars[Math.floor(Math.random() * chars.length)];
col.appendChild(span);
}
container.appendChild(col);
}
container.appendChild(col);
}
let resizeTimer;
window.addEventListener("resize", function () {
clearTimeout(resizeTimer);
resizeTimer = setTimeout(build, 150);
});
build();
})();
</script>