diff options
author | lonkaars <loek@pipeframe.xyz> | 2022-12-27 16:00:54 +0100 |
---|---|---|
committer | lonkaars <loek@pipeframe.xyz> | 2022-12-27 16:00:54 +0100 |
commit | c0f41dd4c74ca4a12252103da0e6de296533e269 (patch) | |
tree | d81194f4b4f3818b71e3773325b0a5ad3478f510 /card/card.js | |
parent | 2cf87d7baeb0ec2b0221e2349989fd0b0967d26b (diff) |
add spoiler class for hiding sentence by default
Diffstat (limited to 'card/card.js')
-rw-r--r-- | card/card.js | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/card/card.js b/card/card.js index 347a44c..0509c3e 100644 --- a/card/card.js +++ b/card/card.js @@ -44,14 +44,26 @@ function parseSentence(input) { } function run() { - var input = document.getElementsByClassName("parse"); - - for (var el of input) { - if (el.classList.contains("parsed")) continue; - el.innerHTML = parseSentence(el.innerHTML); - el.classList.remove("parse"); + // parse all elements with class parse + for (var el of document.getElementsByClassName("parse")) { + if (el.classList.contains("parsed")) continue; // ignore already parsed elements + el.innerHTML = parseSentence(el.innerHTML); // parse + el.classList.remove("parse"); // mark as parsed el.classList.add("parsed"); } + + // toggle spoiler by clicking + for (var el of document.getElementsByClassName("spoiler")) { + el.onclick = function () { + this.classList.toggle("hidden"); + this.classList.toggle("visible"); + }; + } + + // remove spoiler from sentence translation if word reading field is empty + if(document.getElementById("target-word-reading").innerText.length == 0) { + document.getElementById("sentence-translation").classList.remove("hidden"); + } } run(); |