0

0

随机展示轮播图中的指定数量的 Slides

碧海醫心

碧海醫心

发布时间:2025-08-06 20:02:12

|

1069人浏览过

|

来源于php中文网

原创

随机展示轮播图中的指定数量的 slides

本文旨在提供一种使用 JavaScript 从轮播图中随机选择并显示指定数量 slides 的方法。通过修改 HTML 结构和添加 CSS 样式,并结合 JavaScript 代码,可以实现每次页面加载时,轮播图随机展示预设数量 slides 的效果,而其余 slides 则会被隐藏。本文将提供详细的代码示例和步骤说明,帮助开发者轻松实现这一功能。

实现步骤

  1. HTML 结构调整

确保 HTML 结构包含一个容器元素(例如

)包裹所有的 slide 元素(例如
  • )。每个 slide 元素都应该有一个唯一的类名(例如 slogan)。

    "How does visual identity design help business/product value grow?"

    MINE

    "How can we analyze ourselves, audience, competitors, and market and help business progress/grow?"

    MINE

    "How can I differentiate my business from others?"

    MINE

    "What is the best and latest business model and plan for me?"

    MINE

    "How will innovative targeting be achieved at each stage of business?"

    MINE

    1. CSS 样式设置

    首先,将所有 slide 元素默认隐藏。然后,创建一个 CSS 类(例如 show),用于显示选中的 slide 元素。

    .slogan {
      display: none;
    }
    
    .slogan.show {
      display: block;
    }
    1. JavaScript 代码实现

    使用 JavaScript 代码实现以下功能:

    • 获取所有的 slide 元素。
    • 生成指定数量的随机数,作为需要显示的 slide 元素的索引。
    • 遍历所有的 slide 元素,判断其索引是否在随机数列表中。
    • 如果索引在列表中,则添加 show 类,显示该 slide 元素;否则,移除 show 类,隐藏该 slide 元素。
    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); // get 3 of how many found
      slogans.forEach((slogan,i) => slogan.classList.toggle("show",showList.contains(i)))
    }

    代码解释:

    Pixso AI
    Pixso AI

    Pixso AI是一款智能生成设计稿工具,通过AI一键实现文本输入到设计稿生成。

    下载
    • getRandomNumber(count):生成一个 0 到 count-1 之间的随机整数。
    • randomNumbers(len, count):生成一个包含 len 个不重复的随机整数的数组,每个整数的范围是 0 到 count-1。 使用 Set 保证数字的唯一性。
    • document.querySelectorAll('.slogan'):获取所有类名为 slogan 的元素。
    • slogans.forEach((slogan, i) => ...):遍历所有的 slide 元素,slogan 是当前的 slide 元素,i 是其索引。
    • slogan.classList.toggle("show", showList.contains(i)):如果 showList 包含当前 slide 元素的索引 i,则添加 show 类,否则移除 show 类。

    完整示例

    将上述 HTML、CSS 和 JavaScript 代码整合在一起,即可实现随机展示轮播图中的指定数量 slides 的功能。

    
    
    
    Random Slides
    
    
    
    
    

    "How does visual identity design help business/product value grow?"

    MINE

    "How can we analyze ourselves, audience, competitors, and market and help business progress/grow?"

    MINE

    "How can I differentiate my business from others?"

    MINE

    "What is the best and latest business model and plan for me?"

    MINE

    "How will innovative targeting be achieved at each stage of business?"

    MINE

    注意事项:

    • 确保 CSS 样式在 JavaScript 代码执行之前加载,否则可能出现样式闪烁的问题。
    • 可以根据实际需求修改随机选择的 slide 数量。
    • 如果需要支持动态添加或删除 slide 元素,需要重新执行 JavaScript 代码,更新显示的 slide 元素。

    总结

    通过本文的介绍,您已经掌握了如何使用 JavaScript 从轮播图中随机选择并显示指定数量 slides 的方法。 这种方法可以应用于各种场景,例如展示随机推荐内容、突出显示特定主题等。 通过灵活运用这些技术,可以为用户提供更加个性化和动态的体验。

  • 热门AI工具

    更多
    DeepSeek
    DeepSeek

    幻方量化公司旗下的开源大模型平台

    豆包大模型
    豆包大模型

    字节跳动自主研发的一系列大型语言模型

    通义千问
    通义千问

    阿里巴巴推出的全能AI助手

    腾讯元宝
    腾讯元宝

    腾讯混元平台推出的AI助手

    文心一言
    文心一言

    文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

    讯飞写作
    讯飞写作

    基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

    即梦AI
    即梦AI

    一站式AI创作平台,免费AI图片和视频生成。

    ChatGPT
    ChatGPT

    最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

    相关专题

    更多
    counta和count的区别
    counta和count的区别

    Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

    198

    2023.11.20

    php中foreach用法
    php中foreach用法

    本专题整合了php中foreach用法的相关介绍,阅读专题下面的文章了解更多详细教程。

    76

    2025.12.04

    php中foreach用法
    php中foreach用法

    本专题整合了php中foreach用法的相关介绍,阅读专题下面的文章了解更多详细教程。

    76

    2025.12.04

    li是什么元素
    li是什么元素

    li是HTML标记语言中的一个元素,用于创建列表。li代表列表项,它是ul或ol的子元素,li标签的作用是定义列表中的每个项目。本专题为大家li元素相关的各种文章、以及下载和课程。

    419

    2023.08.03

    C++ 设计模式与软件架构
    C++ 设计模式与软件架构

    本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

    9

    2026.01.30

    c++ 字符串格式化
    c++ 字符串格式化

    本专题整合了c++字符串格式化用法、输出技巧、实践等等内容,阅读专题下面的文章了解更多详细内容。

    9

    2026.01.30

    java 字符串格式化
    java 字符串格式化

    本专题整合了java如何进行字符串格式化相关教程、使用解析、方法详解等等内容。阅读专题下面的文章了解更多详细教程。

    8

    2026.01.30

    python 字符串格式化
    python 字符串格式化

    本专题整合了python字符串格式化教程、实践、方法、进阶等等相关内容,阅读专题下面的文章了解更多详细操作。

    3

    2026.01.30

    java入门学习合集
    java入门学习合集

    本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

    20

    2026.01.29

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    Sass 教程
    Sass 教程

    共14课时 | 0.8万人学习

    Bootstrap 5教程
    Bootstrap 5教程

    共46课时 | 3.1万人学习

    CSS教程
    CSS教程

    共754课时 | 25万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号