flash cards2
by zxzc0
HTML
<p>Do you know this word?</p>
<div class="word" id="word1"></div>
<div class="word" id="word2">-</div>
<div class="bt" id="btx">no</div>
<div class="bt" id="bt">show</div>
<div class="bt" id="btv">yes</div>
<p style="font-size: 12px;">If you click "no" word will stay in the array, if you click "yes" word will be delete from array.</p>
CSS
*{
box-sizing: border-box;
}
body {
background-color: #20262e;
color: white;
font-size: 20px;
}
.word {
padding: 10px;
}
.bt {
width: 80px;
height: 50px;
border: 1px solid white;
display: inline-block;
color: white;
font-size: 20px;
padding-top: 12px;
text-align: center;
cursor: pointer;
}
.x{
border: 1px solid red;
}
.v{
border: 1px solid green;
}
JavaScript
var words = [
{q: 'der Schreibtisch', a: 'desk'},
{q: 'der Schrank', a: 'cupboard'},
{q: 'das Sofa', a: 'Sofa'},
]
const word1 = document.querySelector('#word1');
const word2 = document.querySelector('#word2');
const btno = document.querySelector('#btx');
const btshow = document.querySelector('#bt');
const btyes = document.querySelector('#btv');
/*function num(){
savedNum = Math.floor(Math.random() * words.length);
}*/
/*const num = (function() {
let savedNum;
function num() {
if (savedNum === undefined) {
savedNum = Math.floor(Math.random() * words.length);
}
return savedNum;
}
// I want the num function to be visible to outside world, so i return it.
return num;
})();*/
let savedNum;
function num() {
if (savedNum === undefined) {
savedNum = Math.floor(Math.random() * words.length);
}
return savedNum;
}
function rand(){
randomWord = word1.innerText = words[savedNum].q;
}
rand();
btshow.addEventListener("click", function(){
rand();
});
btno.addEventListener("click", function(){
word1.innerText = randomWord;
});
btyes.addEventListener("click", function(){
words.splice(num(), 1);
rand();
word2.innerText = '-';
});