首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

按id显示3个随机元素,不使用JQuery重复。如何确保它总是返回3?然后单击相同的按钮来重做该功能?

要实现按id显示3个随机元素且确保总是返回3个元素,可以按照以下步骤进行:

  1. 获取所有元素的id列表。
  2. 生成一个随机数数组,长度为3,且每个随机数都在id列表的范围内。
  3. 根据随机数数组,获取对应的3个元素。
  4. 显示这3个元素。

以下是一个示例的JavaScript代码实现:

代码语言: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个元素。

代码语言:javascript
复制
// 封装成函数
function showRandomElements() {
  // 上述代码
}

// 按钮的点击事件
document.getElementById('button').addEventListener('click', function() {
  // 隐藏之前显示的元素
  document.querySelectorAll('.element').forEach(function(element) {
    element.style.display = 'none';
  });

  // 调用函数显示新的随机元素
  showRandomElements();
});

这样,每次点击按钮时,都会重新生成随机数数组并显示对应的3个元素,实现了重做该功能的效果。

请注意,以上代码中的.element是一个类选择器,需要根据实际情况替换为正确的元素选择器。另外,该代码只是一个示例,具体实现可能需要根据具体的页面结构和需求进行调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券