// When the page is fully loaded, the main function will be called
$(document).ready(main);
function main() {
// params
let min = -90;
let max = 90;
let step = .5;
let question = 'What was the average value of this symbol?'
let initValue = range(-60, 60, 1)[Math.floor(Math.random() * 10)];
let clickEnabled = true;
// generate html
let sliderHTML = SliderManager.generateSlider({ text: question,
min: min, max: max, step: step, initValue: initValue});
let buttonHTML = generateSubmitButton();
let imgHTML = generateImg('img/index.png')
let questionHTML = generateQuestion(question);
// insert in html
appendElement('Stage', questionHTML);
appendElement('Stage', imgHTML);
appendElement('Stage', sliderHTML);
appendElement('GameButton', buttonHTML);
// listen on events
SliderManager.listenOnSlider({}, function (event) {
if (clickEnabled) {
// they can click only once
// clickEnabled = false;
let choice = event.data.slider.val();
SliderManager.clickEvent(choice);
}
});
// allows to change value using left and right arrows
SliderManager.listenOnArrowKeys();
}
class SliderManager {
// class using static functions (i.e. each func can be extracted
// from the class directly, there are no public members) to manage the slider
static generateSlider({
min = 0, max = 100, step = 5,
initValue = 0,
classname = 'slider'
} = {}) {
let slider = ``;
}
function generateQuestion(question) {
return `