Skip to content
the poor coder

random order of buttons on refresh in vanilla js

Poor Man
Published
Reading time
1 min read
On this page

Random Order of Buttons on Refresh in Vanilla JS#

As a web developer, I have faced an issue where the order of buttons on a page is changing randomly on refresh. This occurs due to the asynchronous nature of JavaScript and can be resolved by using Vanilla JS.

Method 1:#

The first method to resolve this issue is by using the Math.random() function. This function generates a random number between 0 and 1, which can then be used to shuffle the buttons on the page.

Text

const buttons = document.querySelectorAll('.button');
const parent = document.querySelector('.button-container');

parent.appendChild(buttons[0]);

for (let i = 1; i < buttons.length; i++) {
    const randomIndex = Math.floor(Math.random() * (i + 1));
    parent.insertBefore(buttons[i], buttons[randomIndex]);
}

Method 2:#

The second method is by using the Fisher-Yates Shuffle Algorithm. This algorithm loops through the array and swaps the current element with a randomly selected element from the remaining elements in the array.

Text

const buttons = document.querySelectorAll('.button');
const parent = document.querySelector('.button-container');

for (let i = buttons.length - 1; i > 0; i--) {
    const randomIndex = Math.floor(Math.random() * (i + 1));
    [buttons[i], buttons[randomIndex]] = [buttons[randomIndex], buttons[i]];
}

buttons.forEach(button => parent.appendChild(button));

Both of these methods will randomly shuffle the order of the buttons on refresh and provide a better user experience.

Keep going

2023

how to sort an array

How to Sort an Array If you have an array and you want to order its elements in a specific way, you need to use a sorting algorithm. There are several sorting algorithms available, but two of the most commonly used are…

javascript2 min read
2023

jquery mobile or desktop

jQuery Mobile or Desktop? As a web developer, I have had some experience with both jQuery Mobile and jQuery Desktop. Both frameworks have their pros and cons, and which one to use really depends on the specific project…

javascript1 min read
2023

node.js folder structure

Node.js Folder Structure If you are new to Node.js, it can be daunting to create a folder structure that will work for your project. The structure you choose will depend on the size and complexity of your project. Here…

javascript1 min read
ESC