Skip to content

Commit 7707835

Browse files
Added option to manually type array size and speed
1 parent d2be563 commit 7707835

File tree

3 files changed

+214
-137
lines changed

3 files changed

+214
-137
lines changed

index.html

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,17 @@
1515
<div class="middle">
1616
<div class="sliderContainer">
1717
<input type="range" min="5" max="750" value="64" class="slider" id="arraySize" />
18-
<div id="arraySizeText">Array size: 64</div>
18+
<div class="textInput">
19+
<label for="arraySizeText">Array size: </label>
20+
<input id="arraySizeText" type="text" value="64"/>
21+
</div>
1922
</div>
2023
<div class="sliderContainer">
2124
<input type="range" min="0" max="25" step="0.25" value="10" class="slider" id="speed" />
22-
<div id="speedText">Speed: 10</div>
25+
<div class="textInput">
26+
<label for="speedText">Speed: </label>
27+
<input id="speedText" type="text" value="10"/>
28+
</div>
2329
</div>
2430
<div id="sortMethods" class="custom-select">
2531
<select>

scripts/app.js

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ const speedSlider = document.getElementById("speed");
1111
const sizeSlider = document.getElementById("arraySize");
1212
const generateButton = document.getElementById("generator");
1313
const startButton = document.getElementById("startButton");
14-
const sizeSliderInfo = document.getElementById("arraySizeText");
15-
const speedSliderInfo = document.getElementById("speedText");
14+
const sizeSliderText = document.getElementById("arraySizeText");
15+
const speedSliderText = document.getElementById("speedText");
1616

1717
const canvas = document.getElementById("canvas");
1818
let width = window.innerWidth * 0.8;
@@ -82,19 +82,38 @@ speedSlider.onchange = speedSliderOnChange;
8282
sizeSlider.onchange = sizeSliderOnChange;
8383
speedSlider.oninput = speedSliderOnChange;
8484
sizeSlider.oninput = sizeSliderOnChange;
85+
speedSliderText.onchange = speedSliderTextOnChange;
86+
sizeSliderText.onchange = sizeSliderTextOnChange;
8587

86-
function sizeSliderOnChange(event) {
88+
function sizeSliderOnChange() {
8789
generateArrayAndDraw();
8890
if (sortIndex) {
8991
updateSortMethod(sortIndex);
9092
}
91-
sizeSliderInfo.innerText = "Array size: " + event.target.value;
93+
sizeSliderText.value = sizeSlider.value;
9294
}
9395

9496
function speedSliderOnChange(event) {
95-
speedSliderInfo.innerText = "Speed: " + event.target.value;
97+
speedSliderText.value = event.target.value;
9698
}
9799

100+
function speedSliderTextOnChange(event) {
101+
const value = parseFloat(event.target.value);
102+
if (value > speedSlider.min && value < speedSlider.max && speedSlider.value !== value) {
103+
speedSlider.value = value;
104+
}
105+
speedSliderText.value=speedSlider.value;
106+
}
107+
108+
function sizeSliderTextOnChange(event) {
109+
const value = parseInt(event.target.value);
110+
if (value > sizeSlider.min && value < sizeSlider.max && sizeSlider.value !== value) {
111+
sizeSlider.value = value;
112+
}
113+
sizeSliderOnChange()
114+
}
115+
116+
98117
window.onresize = windowsResize;
99118

100119
function windowsResize() {

0 commit comments

Comments
 (0)