I'm trying to add the feature to sort the order of links in a specific div based on the number of times a user clicked a link. It's to pin to top Favorite links of the user. It also has to be saved in localStorage...
For example, I have this:
function clickCounter1() {
if (typeof(Storage) !== "undefined") {
if (localStorage.getItem(`clickcount1`)) {
localStorage.setItem(`clickcount1`, Number(localStorage.getItem(`clickcount1`)) + 1);
} else {
localStorage.setItem(`clickcount1`, 1);
}
document.getElementById(`result1`).textContent = `Btn ABC: ` + localStorage.getItem(`clickcount1`);
}
}
function clickCounter2() {
if (typeof(Storage) !== "undefined") {
if (localStorage.getItem(`clickcount2`)) {
localStorage.setItem(`clickcount2`, Number(localStorage.getItem(`clickcount2`)) + 1);
} else {
localStorage.setItem(`clickcount2`, 1);
}
document.getElementById("result2").textContent = "Btn 123: " + localStorage.clickcount2;
}
}
function clickCounter3() {
if (typeof(Storage) !== "undefined") {
if (localStorage.getItem(`clickcount3`)) {
localStorage.setItem(`clickcount3`, Number(localStorage.getItem(`clickcount3`)) + 1);
} else {
localStorage.setItem(`clickcount3`, 1);
}
document.getElementById("result3").textContent = "Btn ZZZ: " + localStorage.clickcount3;
}
}
function clickCounter4() {
if (typeof(Storage) !== "undefined") {
if (localStorage.getItem(`clickcount4`)) {
localStorage.setItem(`clickcount4`, Number(localStorage.getItem(`clickcount4`)) + 1);
} else {
localStorage.setItem(`clickcount4`, 1);
}
document.getElementById("result4").textContent = "Btn ZZZ: " + localStorage.clickcount4;
}
}
function clickCounter5() {
if (typeof(Storage) !== "undefined") {
if (localStorage.getItem(`clickcount5`)) {
localStorage.setItem(`clickcount5`, Number(localStorage.getItem(`clickcount5`)) + 1);
} else {
localStorage.setItem(`clickcount5`, 1);
}
document.getElementById("result5").textContent = "Btn ZZZ: " + localStorage.clickcount5;
}
}
a {
display: block;
}
<div id="links-list">
<a href="#" id="one" onclick="clickCounter1()">A</a>
<a href="#" id="two" onclick="clickCounter2()">B</a>
<a href="#" id="three" onclick="clickCounter3()">C</a>
<a href="#" id="four" onclick="clickCounter4()">D</a>
<a href="#" id="five" onclick="clickCounter5()">E</a>
</div>
<br>
<div id="result1"></div>
<div id="result2"></div>
<div id="result3"></div>
<div id="result4"></div>
<div id="result5"></div>
If a user clicks C the most, it should be at the top.. I've been trying to search online but couldn't find such a solution for this.