首页
学习
活动
专区
工具
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是一个类选择器,需要根据实际情况替换为正确的元素选择器。另外,该代码只是一个示例,具体实现可能需要根据具体的页面结构和需求进行调整。

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

相关·内容

第51次文章:JQuery高级

3秒后,自动显示广告 广告显示5秒后,自动消失 (2)分析 使用定时器完成。...setTimeout(执行一次定时器) 分析发现JQuery显示和隐藏动画效果其实就是控制display属性值 使用 show/hide方法完成广告显示3)代码实现 <!...(2)分析 给开始按钮绑定单击事件 定义循环定时器 切换小相框src属性。首先定义数组,存放图片资源路径,然后生成随机数,作为数组索引。 2....1、$.fn.extend(object) 增强通过Jquery获取对象功能,属于对象级别的插件,例如:$("#id") 我们用一个案例展示一下插件使用。如下案例所示: <!...插件,在插件里面定义了两个方法,分别是check()和uncheck(),然后再给两个单击按钮绑定不同方法事件。

3.6K30

Jump Start Bootstrap 第4章

我们将会看到如何添加下拉菜单到导航栏、切换按钮状态、当点击按钮时漂亮警告信息会在显示一段时间后消失等等功能。...当你点击按钮时,你会看到一个类似于插图效果样式;在再次单击时,返回到原来样式,如图所示。data-toggle=”button”实现了这个切换功能。 ?...插件在任何DOM元素中侦听滚动,并根据元素滚动位置在导航栏中突出显示菜单项。 基本上,它是一个双组件插件;由一个导航条和一个内容区域组成。内容区域划分为多个部分,每个部分都有一个惟一ID。...可以使用任何一个HTML标题标签插入标题:,,,等等。对于相关文本,可以使用标记。 对每张幻灯片重复相同项目标记。...元素,可以作为一个modal handle元素,可以包含一个包含链接属性href。Bootstrap模式对话框有一个选项,当单击句柄时,将该链接加载到modal-body元素中。

28.3K40

Figma也可以用时间轴做超级流畅动画了

搜索到后,只需点击安装按钮即可。 接下来我们添加一个新Figma文件,从下拉菜单中选择Plugins / Motion。会打开如下面板。 ? ? 002. 如何使用? 接下我们看看如何使用它。...将矩形放置在靠近Frame左角位置,以便在右侧留出一些空间移动。 ? 现在转到Motion,然后单击X属性上“添加关键帧”按钮。 ? 我们动画将持续500毫秒。...选择关键帧,Ctrl / Cmd + C或从所选关键帧下拉菜单中单击“复制”。之后,您可以将它们粘贴到任何层上。有时,以相同方式为某些图层设置动画非常有用。...让我们复制第二个矩形,旋转,从上一个复制关键帧,然后将其粘贴到新矩形中。之后,对最后一个矩形重复相同步骤。此时,一个完整动画就制作完成了。 ? 5.2 弹跳球 现在我们做一个弹跳球动画。...转到“Motion”,然后在0ms和500ms时间位置上为Y和Height添加两个关键帧。 ? 选择结束Y关键帧并将其值更改为275,对“高度”重复相同操作,将其值设置为50。单击“播放”。 ?

17.6K45

JQuery最全常用方法指南

(array, callback) 使用某个方法修改一个数组中项,然后返回一个新数组 jQuery.inArray(value, array) 返回value在数组中位置,如果没有找到,则返回...- 1 jQuery.unique(array) 删除数组中所有重复元素返回整理后数组 1、关于页面元素引用 通过jquery$()引用元素包括通过id、class、元素名以及元素层级关系及....innerHTML; 3如何获取jQuery集合某一项 对于获取元素集合,获取其中某一项(通过索引指定)可以使用eq或get(n)方法或者索引号获取,要注意,eq返回jquery对象,而...(fn); //为id为msg元素单击事件添加函数 同样blur, focus, select, submit事件都可以有着两种调用方法 5、集合处理功能 对于jquery返回集合内容无需我们自己循环遍历并对每个对象分别做处理...使用jqueryjQuery.noConflict(); 方法即可把变量$控制权让渡给第一个实现那个库或之前自定义$方法。

10.9K31

学习jQuery这一篇就够了

提供 API 易于使用且兼容众多浏览器,这让诸如 HTML 文档遍历和操作事件处理动画和 Ajax 操作更加简单。...,jQuery 定义了这个全局函数供我们调用,既可作为一般函数调用,且传递参数类型不同 / 格式不同,功能就完全不同,也可作为对象调用其定义好方法,此时 就是一个工具对象。...jQuery 核心对象:即执行 jQuery 核心函数返回对象,jQuery 对象内部包含是 dom 元素对象伪数组 (可能只有一个元素),jQuery 对象拥有很多有用属性和方法,让程序员能方便操作...需求描述:为按钮绑定一个单击函数,然后点击按钮,在控制台输出 “按钮单击了” 按钮 $('button').click(function () { console.log...对象 给 jQuery 对象 添加 3功能方法: checkAll() : 全选 unCheckAll() : 全不选 reverseCheck() : 全反选 如何实现呢?

81750

设计师都能懂 Redux 指南

注意:在React(16.3)最新版本中,有一个新 context API,提取数据功能几乎与 Redux 是相同。...更改数据代码必须像数学公式一样。 在相同输入情况下,必须返回相同结果。 无论你运行多少次,4 平方总是 16。 当你遵循上述原则开发应用的话,不可思议事情就来了。...这个文档中介绍了如何使用 Redux 实现撤消/重做。 协作环境 如果你要构建类似于 Google Docs 应用,其中多个用户在复杂任务上协同工作,请考虑使用 Redux。...错误报告可能是模糊或不准确。开发人员很难找到 bug 所在位置。 现在,这个怎么样。 用户单击“报告错误”按钮。 系统自动将她所做事情发送给开发人员。...开发人员单击“重播错误”按钮并观察错误是如何发生。 bug 被当场压扁,每个人都很开心! Redux Bug Reporter 就是这样玩工作原理呢?Redux 限制条件让一切变成可能。

1.6K10

一个小时学会jQuery

对象拥有大量预定义有用方法,能够作用于元素。 用编程的话来说,这种构造称为包装器(wrapper),因为它用扩展功能来对匹配元素进行包装。...基本选择器 基本选择器是jQuery中最常用选择器,也是最简单选择器,通过元素id、class和标签名等查找DOM元素。在网页中,每个id名称只能使用一次,class允许重复使用。...3.2.1、通过id获取元素 在CSS中经常使用id控制元素,在jQuery中获取元素时,也使用同样方法。与CSS一样,在id前面加上#号。...语法:$("#id") 可以控制指定idHTML元素,在HTML中有id不可重复规定,因此可以控制文档内部惟一元素。如果定义了多个同名id元素,则只有最初出现同名id有效。...语法:$(".className") 本例通过类名获取元素,因为使用同一个类样式元素可能有多个,所以通过类名获取元素返回将是一个数组对象,即jQuery包装集,然后对此包装集中元素进行相关操作

18.4K71

4 个 useState Hook 示例

今天,可以使用 Hook 获得相同功能,并为自己节省了工作时间。在本文中,主要介绍useState hook。...示例:使用 useState 显示/隐藏组件 这个示例是一个组件,显示一些文本,并在末尾显示一个read more链接,当单击链接时,展开剩下文本。...假设你 hooks 总是相同顺序调用(如果遵循 hooks 规则,它们将是相同顺序),React能够查找特定useState调用前一个值。...下面是一个随机数列表例子,单击按钮将向列表添加一个新随机数: function RandomList() { const [items, setItems] = useState([]);...使用setValues传递一个对象,为了确保现有的状态不被覆盖,这里使用了展开运算(...form)。

96120

JQuery学习

封装JavaScript常用功能代码,提供一种简便JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。...因此一般项目来说,使用1.x版本就可以了, 最终版本:1.12.4 (2016年5月20日) 2.x:兼容ie678,很少有人使用,官方只做BUG维护, 功能不再新增...如果不考虑兼容低版本浏览器可以使用2.x, 最终版本:2.2.4 (2016年5月20日) 3.x:兼容ie678,只支持最新浏览器。...除非特殊要求, 一般不会使用3.x版本,很多老jQuery插件不支持这个版本。 目前版本是官方主要更新维护版本。...当页面加载完,3秒后。自动显示广告 2. 广告显示5秒后,自动消失。 分析: 1. 使用定时器完成。

16.6K20

最新iOS设计规范六|10大交互规范(User Interaction)

显示操作(如点按按钮)可确保用户进行身份验证。例如:在Face ID情况下,用户可能需要面向相机。 明确描述身份验证方法。...用户熟悉标准手势,并不希望总是被迫学习不同手势完成相同操作。在游戏以及其他沉浸式APP中,自定义手势可以成为用户体验中有趣一部分。...许多系统APP导航栏中,都包含一个清晰且可点击返回按钮。但是用户也可以通过从屏幕侧面滑动返回上一页。在iPad上,用户还可以通过Home键或使用四指捏手势退出主屏幕。...旋转(Rotate):旋转图像或视图 摇晃(Shake):撤销或重做 六、3D 触控(3D Touch ) 3D触摸可以说是为触摸交互方式提供了另一个维度交互,在支持3D触摸设备上,用户可以通过对屏幕施加不同程度压力唤醒不同功能...谨慎提供撤消和重做按钮。当APP提供多种方法执行相同任务时,这会令人困惑。如果你APP确实需要专门撤消和重做按钮,请使用系统提供图标并将它们放在预期位置,例如导航栏。

4K30

第79天:jQuery事件总结(二)

每次单击元素,依次触发指定相应函数,直到最后一个。随后每次单击重复对这几个函数轮番调用。   ...上篇有过下面的一个例子,在其中如果要连续单击“标题”链接,实现“内容”隐藏和显示效果,那么按照之前做法就需要在绑定“click”事件时候判断当前“内容”部分是隐藏还是显示然后进行相反操作,显然就麻烦多...以一个按钮为例:假设网页中有一个id为btn按钮,其上绑定了几个click事件。...那么:   首先添加一个移除事件按钮: 移除所有事件 然后可以为按钮绑定若干click事件,使用链式操作就可以很简单为其绑定几个click...jQuery代码如下: $("#delAll").click(function(){ $('#btn').unbind("click"); }) 因为元素绑定都是click事件,所以上面写“click

1.6K20

jQuery:详解jQuery事件(二)

每次单击元素,依次触发指定相应函数,直到最后一个。随后每次单击重复对这几个函数轮番调用。   ...上篇有过下面的一个例子,在其中如果要连续单击“标题”链接,实现“内容”隐藏和显示效果,那么按照之前做法就需要在绑定“click”事件时候判断当前“内容”部分是隐藏还是显示然后进行相反操作,显然就麻烦多...方法阻止元素默认行为。   ...所以,移除事件就涉及两种情况下移出,一种是移除之前注册所有事件,而是移除其中一个事件。以一个按钮为例:假设网页中有一个id为btn按钮,其上绑定了几个click事件。...那么:   首先添加一个移除事件按钮: 移除所有事件   然后可以为按钮绑定若干click事件,使用链式操作就可以很简单为其绑定几个click

2.2K30

使用iPad将iPad用作Mac第二台显示

使用SidecarMacbook旁iPad 使用Sidecar扩展或镜像Mac桌面 确保Mac和iPad满足Sidecar系统要求,然后执行以下步骤: 您可以无线使用Sidecar,但要在使用过程中为...要镜像Mac显示,使两个屏幕显示相同内容,请返回AirPlay菜单,菜单是 ? image 使用Sidecar时蓝色矩形 。选择用于镜像显示选项。...这是与他人共享Mac屏幕好方法。 要结束Sidecar会话,请返回AirPlay菜单,然后选择断开连接选项。或单击iPad 边栏中断开连接按钮。 了解有关使用外接显示更多信息。...---- 使用iPad应用 使用Sidecar时,您可以 切换到iPad应用程序,然后像往常一样在iPad上与应用程序进行交互。...代) iPad Air(第3代) 其他要求 您必须 在两个设备上使用相同Apple ID登录到iCloud。

13.4K00

从设计角度看 Redux

注意:在React(16.3)最新版本中,有一个新 context API,提取数据功能几乎与 Redux 是相同。...更改数据代码必须像数学公式一样。 在相同输入情况下,必须返回相同结果。 无论你运行多少次,4 平方总是 16。 当你遵循上述原则开发应用的话,不可思议事情就来了。...这个文档中介绍了如何使用 Redux 实现撤消/重做。 协作环境 如果你要构建类似于 Google Docs 应用,其中多个用户在复杂任务上协同工作,请考虑使用 Redux。...错误报告可能是模糊或不准确。开发人员很难找到 bug 所在位置。 现在,这个怎么样。 用户单击“报告错误”按钮。 系统自动将她所做事情发送给开发人员。...开发人员单击“重播错误”按钮并观察错误是如何发生。 bug 被当场压扁,每个人都很开心! Redux Bug Reporter 就是这样玩工作原理呢?Redux 限制条件让一切变成可能。

1.7K30

python测试开发django-188.Bootstrap折叠(Collapse)插件

如果您想要单独引用插件功能,那么您需要引用 collapse.js, bootstrap已经包含了这个插件。...可以直接引用 bootstrap.js 或压缩版 bootstrap.min.js 折叠(Collapse) 以使用带有属性链接href或带有属性按钮data-target。...单击下面的按钮以通过类更改显示和隐藏另一个元素: .collapse隐藏内容 .collapsing在过渡期间应用 .collapse.in显示内容 <!...data-target属性接受一个 CSS 选择器应用折叠。确保将类添加collapse到可折叠元素。如果您希望默认打开,请添加附加类in。 <!...在可折叠元素实际被隐藏之前(即在事件发生之前)返回给调用者。hidden.bs.collapse Bootstrap 折叠类公开了一些用于挂钩折叠功能事件。

2.9K50
领券