-
Notifications
You must be signed in to change notification settings - Fork 6
/
sort.js
124 lines (100 loc) · 3.11 KB
/
sort.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
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
function swap(i, j) {
let temp = i.style.height;
i.style.height = j.style.height;
j.style.height = temp;
}
function enableSortBtn() {
document.querySelector(".bubbleSort").disabled = false;
document.querySelector(".insertionSort").disabled = false;
document.querySelector(".selectionSort").disabled = false;
document.querySelector(".mergeSort").disabled = false;
document.querySelector(".quickSort").disabled = false;
}
function disableSortBtn() {
document.querySelector(".bubbleSort").disabled = true;
document.querySelector(".insertionSort").disabled = true;
document.querySelector(".selectionSort").disabled = true;
document.querySelector(".mergeSort").disabled = true;
document.querySelector(".quickSort").disabled = true;
}
function disableSizeSlider() {
document.querySelector("#arr_sz").disabled = true;
}
function enableSizeSlider() {
document.querySelector("#arr_sz").disabled = false;
}
function disableNewArrayBtn() {
document.querySelector(".newArray").disabled = true;
}
function enableNewArrayBtn() {
document.querySelector(".newArray").disabled = false;
}
function diablePerformanceBtn() {
document.querySelector(".performance").disabled = true;
}
function enablePerformanceBtn() {
document.querySelector(".performance").disabled = false;
}
function clear(){
var text = document.getElementById("content");
text.textContent = "..."
}
function waitForMe(ms) {
return new Promise((resolve) => {
setTimeout(() => {
resolve("");
}, ms);
});
}
let arraySize = document.querySelector("#arr_sz");
// console.log(arraySize.value);
arraySize.addEventListener("input", () => {
console.log(arraySize.value, typeof arraySize.value);
createNewArray(parseInt(arraySize.value));
});
let delay = 260;
let delayElement = document.querySelector("#speed_input");
delayElement.addEventListener("input", () => {
console.log(delayElement.value, typeof delayElement.value);
delay = 320 - parseInt(delayElement.value);
});
let array = [];
createNewArray();
function createNewArray(Total_bars = 60) {
deleteOldBars();
array = [];
for (let i = 0; i < Total_bars; i++) {
array.push(Math.floor(Math.random() * 250) + 1);
}
console.log(array);
const bars = document.querySelector("#bars");
for (let i = 0; i < Total_bars; i++) {
const bar = document.createElement("div");
bar.style.height = `${array[i] * 2}px`;
bar.classList.add("bar");
bar.classList.add("flex-item");
bar.classList.add("barNo${i}");
bars.appendChild(bar);
}
}
function deleteOldBars() {
const bar = document.querySelector("#bars");
bar.innerHTML = "";
}
const newArray = document.querySelector(".newArray");
newArray.addEventListener("click", function () {
console.log("From newarray " + arraySize.value);
console.log("From newArray " + delay);
enableSortBtn();
enableSizeSlider();
clear();
createNewArray(arraySize.value);
});
let title = document.querySelector('#title')
document.querySelectorAll('.btn').forEach(button => {
button.addEventListener('click', () => {
if (button.textContent.includes('Sort')) {
title.textContent = button.textContent
}
})
})