Generate a Random Number
Behind This Webpage
// Function to generate a random number between min and max
function getRandomNumber(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
// Event listener for the random button
const randomBtn = document.getElementById('random-btn');
randomBtn.addEventListener('click', function() {
const min = parseInt(document.getElementById('min').value);
const max = parseInt(document.getElementById('max').value);
const errorBubbleMessage = document.getElementById('errorBubbleMessage');
const resultDiv = document.getElementById('result');
const minInput = document.getElementById('min');
const maxInput = document.getElementById('max');
const minError = document.getElementById('min-error');
const maxError = document.getElementById('max-error');
let hasError = false;
let errorMessages = [];
if (isNaN(min)) {
hasError = true;
minInput.classList.add('error-border');
minError.textContent = 'This field must contain a valid number.';
minError.classList.remove('hidden');
errorMessages.push('The minimum field must contain a valid number.');
} else {
minInput.classList.remove('error-border');
minError.classList.add('hidden');
}
if (isNaN(max)) {
hasError = true;
maxInput.classList.add('error-border');
maxError.textContent = 'This field must contain a valid number.';
maxError.classList.remove('hidden');
errorMessages.push('The maximum field must contain a valid number.');
} else {
maxInput.classList.remove('error-border');
maxError.classList.add('hidden');
}
if (!hasError && min > max) {
hasError = true;
minInput.classList.add('error-border');
maxInput.classList.add('error-border');
minError.textContent = 'Minimum value cannot be greater than maximum value.';
maxError.textContent = 'Maximum value cannot be less than minimum value.';
minError.classList.remove('hidden');
maxError.classList.remove('hidden');
errorMessages.push('Minimum value cannot be greater than maximum value.');
}
if (hasError) {
const combinedErrorMessage = errorMessages.join(' ').trim();
errorBubbleMessage.textContent = combinedErrorMessage;
errorBubbleMessage.classList.add('show');
setTimeout(() => {
errorBubbleMessage.classList.remove('show');
}, 3000);
resultDiv.textContent = '';
} else {
const randomNum = getRandomNumber(min, max);
resultDiv.textContent = `Random Number: ${randomNum}`;
const successBubbleMessage = document.getElementById('successBubbleMessage');
successBubbleMessage.classList.add('show');
setTimeout(() => {
successBubbleMessage.classList.remove('show');
}, 3000);
}
});