要实现按id显示3个随机元素且确保总是返回3个元素,可以按照以下步骤进行:
以下是一个示例的JavaScript代码实现:
// 获取所有元素的id列表
var idList = Array.from(document.querySelectorAll('.element')).map(function(element) {
return element.id;
});
// 生成一个随机数数组,长度为3,且每个随机数都在id列表的范围内
var randomIndices = [];
while (randomIndices.length < 3) {
var randomIndex = Math.floor(Math.random() * idList.length);
if (!randomIndices.includes(randomIndex)) {
randomIndices.push(randomIndex);
}
}
// 根据随机数数组,获取对应的3个元素
var randomElements = randomIndices.map(function(index) {
return document.getElementById(idList[index]);
});
// 显示这3个元素
randomElements.forEach(function(element) {
element.style.display = 'block';
});
为了实现单击相同的按钮来重做该功能,可以将上述代码封装成一个函数,并在按钮的点击事件中调用该函数。每次点击按钮时,都会重新生成随机数数组并显示对应的3个元素。
// 封装成函数
function showRandomElements() {
// 上述代码
}
// 按钮的点击事件
document.getElementById('button').addEventListener('click', function() {
// 隐藏之前显示的元素
document.querySelectorAll('.element').forEach(function(element) {
element.style.display = 'none';
});
// 调用函数显示新的随机元素
showRandomElements();
});
这样,每次点击按钮时,都会重新生成随机数数组并显示对应的3个元素,实现了重做该功能的效果。
请注意,以上代码中的.element
是一个类选择器,需要根据实际情况替换为正确的元素选择器。另外,该代码只是一个示例,具体实现可能需要根据具体的页面结构和需求进行调整。
领取专属 10元无门槛券
手把手带您无忧上云