值得一看
广告
彩虹云商城
广告

热门广告位

随机显示幻灯片:从五个幻灯片中随机选择三个并隐藏其余幻灯片

随机显示幻灯片:从五个幻灯片中随机选择三个并隐藏其余幻灯片

随机显示幻灯片:从五个幻灯片中随机选择三个并隐藏其余幻灯片

本文介绍如何使用 JavaScript 从五个幻灯片中随机选择三个,并在页面加载时显示它们,同时完全隐藏未被选中的幻灯片。通过提供的代码示例和 CSS 样式,可以轻松实现幻灯片的随机展示效果,从而提升用户体验。

实现随机幻灯片展示的核心在于生成不重复的随机数,并根据这些随机数来控制幻灯片的显示与隐藏。以下是详细的步骤和代码示例:

1. HTML 结构

首先,确保你的 HTML 结构包含幻灯片容器和各个幻灯片元素。每个幻灯片元素都应该有一个唯一的标识,例如 class 名称 slogan。

<div class="container">
<section id="testim" class="testim">
<div class="testim-cover">
<div class="wrap">
<span id="right-arrow" class="arrow right fa fa-chevron-right"></span>
<span id="left-arrow" class="arrow left fa fa-chevron-left "></span>
<ul id="testim-dots" class="dots">
<li class="dot active"></li>
<li class="dot"></li>
<li class="dot"></li>
<li class="dot"></li>
<li class="dot"></li>
</ul>
<div id="testim-content" class="cont">
<div class="slogan">
<p>"How does visual identity design help business/product value grow?"</p>
<h2>MINE</h2>
</div>
<div class="slogan">
<p>"How can we analyze ourselves, audience, competitors, and market and help business progress/grow?"</p>
<h2>MINE</h2>
</div>
<div class="slogan">
<p>"How can I differentiate my business from others?"</p>
<h2>MINE</h2>
</div>
<div class="slogan">
<p>"What is the best and latest business model and plan for me?"</p>
<h2>MINE</h2>
</div>
<div class="slogan">
<p>"How will innovative targeting be achieved at each stage of business?"</p>
<h2>MINE</h2>
</div>
</div>
</div>
</div>
</section>
</div>

2. CSS 样式

为了实现隐藏和显示幻灯片的效果,我们需要添加一些 CSS 样式。 默认情况下,所有幻灯片都应该被隐藏,然后通过 JavaScript 添加一个 show 类来显示选定的幻灯片。

.slogan { display: none }
.slogan.show { display: block }

3. JavaScript 代码

以下是 JavaScript 代码,用于随机选择三个幻灯片并显示它们,同时隐藏其余幻灯片。

const getRandomNumber = count => Math.floor(Math.random() * count);
const randomNumbers = (len, count) => {
const numbers = new Set();
while (numbers.size < len) numbers.add(getRandomNumber(count));
return [...numbers];
};
const slogans = [...document.querySelectorAll('.slogan')];
const nonEmptySlogans = slogans.filter(slogan => slogan.textContent.trim() !== '');
if (nonEmptySlogans.length >= 3) {
const showList = randomNumbers(3, nonEmptySlogans.length); // get 3 of how many found
slogans.forEach((slogan,i) => slogan.classList.toggle("show",showList.includes(i)))
}

代码解释:

  • getRandomNumber(count): 生成一个 0 到 count-1 之间的随机整数。
  • randomNumbers(len, count): 生成一个包含 len 个不重复随机数的数组,这些随机数都在 0 到 count-1 之间。使用 Set 数据结构确保生成的随机数不重复。
  • document.querySelectorAll(‘.slogan’): 选择所有 class 为 slogan 的元素,并将其转换为数组。
  • slogans.forEach((slogan,i) => slogan.classList.toggle(“show”,showList.includes(i))): 遍历所有幻灯片,并根据其索引是否包含在 showList 数组中来切换 show 类的添加和移除。 classList.toggle(“show”, condition) 如果 condition 为 true,则添加 show 类;如果为 false,则移除 show 类。

4. 完整示例

将上述 HTML、CSS 和 JavaScript 代码整合在一起,就可以实现随机幻灯片展示的效果。 确保 JavaScript 代码在 DOM 加载完成后执行,例如将其放在 <script> 标签内,并放在 </script>

温馨提示: 本文最后更新于2025-08-06 22:39:02,某些文章具有时效性,若有错误或已失效,请在下方留言或联系在线客服
文章版权声明 1 本网站名称: 创客网
2 本站永久网址:https://new.ie310.com
1 本文采用非商业性使用-相同方式共享 4.0 国际许可协议[CC BY-NC-SA]进行授权
2 本站所有内容仅供参考,分享出来是为了可以给大家提供新的思路。
3 互联网转载资源会有一些其他联系方式,请大家不要盲目相信,被骗本站概不负责!
4 本网站只做项目揭秘,无法一对一教学指导,每篇文章内都含项目全套的教程讲解,请仔细阅读。
5 本站分享的所有平台仅供展示,本站不对平台真实性负责,站长建议大家自己根据项目关键词自己选择平台。
6 因为文章发布时间和您阅读文章时间存在时间差,所以有些项目红利期可能已经过了,能不能赚钱需要自己判断。
7 本网站仅做资源分享,不做任何收益保障,创业公司上收费几百上千的项目我免费分享出来的,希望大家可以认真学习。
8 本站所有资料均来自互联网公开分享,并不代表本站立场,如不慎侵犯到您的版权利益,请联系79283999@qq.com删除。

本站资料仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
THE END
喜欢就支持一下吧
点赞5赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容