-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathalphabet-pure.js
More file actions
126 lines (120 loc) · 1.68 KB
/
alphabet-pure.js
File metadata and controls
126 lines (120 loc) · 1.68 KB
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
// import Vue from '/node_modules/vue/dist/vue.esm.browser.js'
const alphabetsUp = [
'А',
'Б',
'В',
'Г',
'Д',
'Е',
'Ё',
'Ж',
'З',
'И',
'Й',
'К',
'Л',
'М',
'Н',
'О',
'П',
'Р',
'С',
'Т',
'У',
'Ф',
'Х',
'Ц',
'Ч',
'Ш',
'Щ',
'Ъ',
'Ы',
'Ь',
'Э',
'Ю',
'Я'
]
const alphabetsLow = [
'а',
'б',
'в',
'г',
'д',
'е',
'ё',
'ж',
'з',
'и',
'й',
'к',
'л',
'м',
'н',
'о',
'п',
'р',
'с',
'т',
'у',
'ф',
'х',
'ц',
'ч',
'ш',
'щ',
'ъ',
'ы',
'ь',
'э',
'ю',
'я'
]
const getRandomHex = () => {
// 0 ~ 15 in hex
return Math.round(Math.random() * 15).toString(16)
}
const randomColors = () => {
// 0 ~ 15
let color = '#'
for (let i = 0; i <= 5; i++) {
color += getRandomHex()
}
return color
}
const randomAlphabet = (index = Math.round(Math.random() * 32)) => {
return [alphabetsUp[index], alphabetsLow[index]]
}
new Vue({
el: '#app',
data: {
alphabetUp: '',
alphabetLow: '',
backgroundColor: '',
isRandom: false,
currentIndex: 0
},
methods: {
click() {
let alphabets = []
if (!this.isRandom) {
if (this.currentIndex >= 33) {
this.currentIndex = 0
}
alphabets = randomAlphabet(this.currentIndex)
this.currentIndex += 1
} else {
alphabets = randomAlphabet()
}
this.alphabetUp = alphabets[0]
this.alphabetLow = alphabets[1]
this.backgroundColor = randomColors()
},
toggleRandom() {
this.isRandom = !this.isRandom
this.currentIndex = 0
}
},
created() {
this.click()
}
})