选择要显示的随机图像

2024-04-06

我有一个包含 4 张图像的页面。我希望每次查看页面时都从图像选择中随机选择这些图像。

图像还需要链接到特定页面(取决于显示的图像)。 例如:

  • image_01 page_620.html
  • image_04 page_154.html

HTML:

<div class="thankyou_wrapper">
  <div class="thankyou">
    <div class="socialphoto_container">
      <div class="socialphoto"><a href="page_082.html" target="_self"><img src="images/image_01.jpg" width="220" height="220" /></a></div>
      <div class="socialphoto"><a href="page_128.html" target="_self"><img src="images/image_05.jpg" width="220" height="220" /></a></div>
      <div class="socialphoto"><a href="page_852.html" target="_self"><img src="images/image_08.jpg" width="220" height="220" /></a></div>
      <div class="socialphoto"><a href="page_685.html" target="_self"><img src="images/image_04.jpg" width="220" height="220" /></a></div>
    </div>
  </div>
</div>

CSS:

.thankyou_wrapper {
    width: 100%;
    background-color: #FFF;
}
.thankyou {
    margin: auto;
    width: 940px;
    min-height: 216px;
    overflow: hidden;
    padding-top: 20px;
    padding-bottom: 20px;
}
.socialphoto_container {
    width: 940px;
    height: 230px;
}
.socialphoto {
    width: 240px;
    height: 220px;
    margin-right: 0px;
    float: left;
}
.socialphoto:last-child {
    width: 220px;
}

有任何想法吗?


可以通过创建一个可能图像的数组,打乱该数组,然后抓取前 4 个图像并附加到 div 来完成:

// randomize array function
Array.prototype.shuffle = function() {
  var i = this.length, j, temp;
  if ( i == 0 ) return this;
  while ( --i ) {
     j = Math.floor( Math.random() * ( i + 1 ) );
     temp = this[i];
     this[i] = this[j];
     this[j] = temp;
  }
  return this;
}

// declare image data as array of objects
var images = [
    { src : 'images/image_01.jpg', href : 'page_082.html' },
    { src : 'images/image_02.jpg', href : 'page_083.html' },
    { src : 'images/image_03.jpg', href : 'page_084.html' },
    { src : 'images/image_04.jpg', href : 'page_085.html' },
    { src : 'images/image_05.jpg', href : 'page_086.html' },
    { src : 'images/image_06.jpg', href : 'page_087.html' }
];

$(document).ready(function(){

    var img, anchor, div;
    var cont = $('.socialphoto_container');
    cont.children().remove();

    images.shuffle();

    for(var i=0; i<4; i++){
        img = $('<img />', { src : images[i].src });
        anchor = $('<a></a>', { href : images[i].href, target : '_self' });
        div = $('<div></div>', { class : 'socialphoto' });
        anchor.append(img);
        div.append(anchor);
        cont.append(div);
    }
});

Array.shuffle()是 Fisher-Yates 算法,取自here https://stackoverflow.com/questions/2450954/how-to-randomize-a-javascript-array.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

选择要显示的随机图像 的相关文章

随机推荐

  • Material UI 中的交互式目录

    我希望我能够从我的应用程序中的 Material ui 网站重新创建这个小菜单 现在我有一个带有列表和链接的组件 import Link List ListItem from material ui core const burgerRec
  • Google Cast iOS SDK v3.3 存档上传问题

    我使用最新版本的Xcode 8 2 1 b8C1002 和最新版本GoogleCast framework 3 3 0 显然我跟随了这些步骤 https developers google com cast docs ios sender
  • 我的所有组件什么时候加载?

    我有一个组件 它有几个孩子 他们也可能有一些孩子 我无法预测是否所有孩子都会被加载 因为这取决于您查看的内容 我想要实现的是加载内容时显示的加载指示器 但我不想为每个组件显示加载指示器 因为我最终会有 10 15 个加载指示器 我的想法是
  • Backbone:同一模型的多个视图模型

    新手骨干问题 背景 建立一个有骨干的购物清单 我有一个名为名称 描述和标签 数组 属性的模型类 我想基于此模型或此模型的集合创建两个视图 第一个视图将显示所有项目 如下所示 ul li h3 Item 1 Name h3 p Item 1
  • PHP 在 URL 中使用 cURL 和 GET 请求

    我使用 cURL 而不是 file get contents 它在 URL 上运行良好 直到我使用 GET 请求变量代替下面 URL 上的城市 在以下方面使用 cURL 有效 url http www weather forecast co
  • 如何复制 ag-grid 中存在的值

    我正在使用 ag grid 绑定列表中的值 是否可以复制所选单元格中的值 数据 我尝试使用 ctrl c 复制该值 但它不起作用还有其他方法吗 请帮我 有一个标志允许您选择文本 然后按 CTRL C 即可 enableCellTextSel
  • 无法从 python 中的本地模块导入类

    我在本地目录中有一个模块 parser py class Parser object class Parser2 object 我想将它们导入 mainScript py 中 但是我得到了 错误模块解析器中没有名称 解析器 from par
  • 将图像拖放到 Chrome 中的 contenteditable 中到光标处

    在 Firefox 中 如果我将图像从桌面拖到可内容编辑的字段中 它将作为 base64 嵌入到突出显示的光标位置 JSFiddle http jsfiddle net zupa YrwsS http jsfiddle net zupa Y
  • 使用 PowerShell 创建 Outlook 电子邮件草稿

    我正在创建一个 PowerShell 脚本来自动化工作流程 此过程需要填写电子邮件并发送给其他人 电子邮件将始终大致遵循相同类型的模板 但每次可能都不会相同 因此我想在 Outlook 中创建电子邮件草稿并打开电子邮件窗口 以便可以在发送之
  • Java 浮点值格式化为两位小数

    以下是我添加两个值的代码 float ptoTotalAmount 0 Map
  • 当服务器抛出异常时如何避免用户收到 500 错误

    我的服务器日志中出现以下错误 2012 03 06 09 20 43 HTTP JVM CLFAD0211E 引发异常 有关更详细的信息 请查阅位于 D Lotus Domino data domino workspace logs 的 e
  • 监听添加的表行

    假设我有一张桌子 table tr tr table function btn click function table append
  • 使用 ASP.NET 将 HTML 表导出到 Excel

    I have an html table Not Gridview and that has no proper Header and rows Instead it has customized structure and data I
  • 如何在 Next.js 中设置 i18n 翻译的 URL 路由?

    我在用Next js i18n 路由 https nextjs org docs advanced features i18n routing设置多语言网站 这非常有效 如果我创建一个文件 pages about js这将根据我的区域设置创
  • 将两个具有不同数据点的散点图组合起来

    我有一个要求 我想在同一绘图区域中组合两个不同的散点图 一个散点图使用指标 1 另一张散点图使用指标 2 在R中可行吗 我已经添加了数据集和代码 但不知道如何将这两个合并在同一个图中 df1 lt data frame Product c
  • 在 Centos7 上使用 SQLite3 与 Django 2.2 和 Python 3.6.7

    我正在将 Django 代码从 2 1 7 直接移至新的 Django 2 2 我在 Centos7 开发环境中遇到的唯一问题是我的本地开发数据库 sqlite3 版本与我的 Python 3 6 7 不兼容 我从 manage py ru
  • 在此范围内未声明“GL_CLAMP_TO_EDGE”

    我该如何解决 我已经包含了 gl gl h 和 gl glu h 那么有什么作用呢 它是 OpenGL 1 2 的一部分 这就是为什么它不在 Microsoft 的 OpenGL 1 1 标头中 将此行添加到您的代码中的某个位置 顺便说一句
  • 具有多个视图集的 Django Rest Framework 路由器

    我正在尝试使用 DRF 3 1 创建 API 我首先使用 ModelViewSet 创建管理函数 并将它们注册到 DefaultRouter 这工作得很好 默认的 API 根视图在浏览器中查看时会生成适当的链接 然后 我使用 ReadOnl
  • 选择 pandas 数据框中所有零条目的列

    给定一个数据框df 如何找出所有只有0作为值的列 0 1 2 3 4 5 6 7 0 0 0 0 1 0 0 1 0 1 1 1 0 0 0 1 1 1 预期产出 2 4 0 0 0 1 0 0 我只需将这些值与 0 进行比较并使用 all
  • 选择要显示的随机图像

    我有一个包含 4 张图像的页面 我希望每次查看页面时都从图像选择中随机选择这些图像 图像还需要链接到特定页面 取决于显示的图像 例如 image 01 page 620 html image 04 page 154 html HTML di