-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.js
83 lines (77 loc) · 2.02 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
let interval = null
let value = location.search.replace('?','')
let time = (value=='')?10:5
let palabras = {
'mesa':'mayonesa',
'poso':'mimoso',
'misa':'camisa',
'posa':'perezosa',
'musa':'pelusa',
'masa':'amenaza',
'piso':'petiso',
'pose':'desglose',
}
if(value==''){
localStorage.removeItem('palabra')
}
if(localStorage.getItem('palabra')){
delete palabras[localStorage.getItem('palabra')]
}
let list = Object.keys(palabras).sort(()=>{
return Math.random()-.5
}).sort(()=>{
return Math.random()-.5
}).sort(()=>{
return Math.random()-.5
}).sort(()=>{
return Math.random()-.5
})
let index = null
let setTitle = () =>{
if(list.length==0){
clearInterval(interval)
document.querySelector('ul').classList.add('hide')
return
}
index = list.shift()
document.querySelector('h1').innerText = 'Rima de '+index+'?'
}
setTitle()
let choice = (e) =>{
if(palabras[index].toLowerCase()===e.target.innerText.toLowerCase()){
localStorage.setItem('palabra', index)
document.querySelector('div').innerText = palabras[index]
clearInterval(interval)
document.querySelector('ul').classList.add('hide')
setTimeout(() => {
if(value==''){
location.href = 'siguiente.html'
} else {
location.href = 'ganar.html'
}
}, 2000);
} else {
setTitle()
}
}
let ul = document.createElement('ul')
document.body.appendChild(ul)
Object.keys(palabras).forEach(palabra=>{
let li = document.createElement('li')
li.innerText =palabras[palabra]
li.addEventListener('click', choice)
ul.appendChild(li)
})
let setTime = (time) =>{
document.querySelector('strong').innerText = time
if(time==0){
clearInterval(interval)
let link = document.querySelector('a')
document.querySelector('ul').classList.add('hide')
link.innerText = 'Continuar'
}
}
setTime(time)
interval = setInterval(() => {
setTime(--time)
}, 1000);