【问题标题】:How can I randomly load a single image from my Image directory using Jquery?如何使用 Jquery 从我的图像目录中随机加载单个图像?
【发布时间】:2015-03-13 05:16:30
【问题描述】:

我对 Jquery/Javascript 非常陌生,我想从我的图像目录将单个图像加载到我的主页上,以便在刷新时出现一个新的随机图像。 Jquery 有没有办法简单地访问我的图像文件夹并随机加载任何图像?我目前正在使用一个 JS 代码,该代码需要我输入我想要加载的每个图像名称。这是详尽的,虽然我可能对 Jquery 不太了解,但我认为这可以以更简洁的方式完成。如果我太天真了,请提前道歉。

【问题讨论】:

  • 你应该可以直接链接到它们。
  • 什么意思?我想在页面加载时添加一张新图片
  • 我的意思是图像是相对于当前脚本执行可以直接访问的资源。

标签: jquery image file random load


【解决方案1】:

当您在 HTML 标记中链接到它们时,您可以在 js 函数中使用相同的链接来链接到它们。

不确定您的目录结构是如何设置的,但作为示例。

  • 目录
    • 图片
      • image1.jpg
    • 脚本
      • script.js
    • 风格
    • index.html

在您的 js 文件中,您可以链接到 images/image1.jpg

<header>标签中添加:

<script type="text/js" src="js/script.js" />

然后在您的 script.js 文件中执行以下操作之一:

//Raw Javascript

  function changeMe()
  {
    document.getElementById("changeMe").src = "images/" + getRandomImage();
  }

  <img id="changeMe" onLoad="changeMe()" src="images/default.jpg" />


 //JQuery
  $(document).ready(function(){
    $("#changeMe").src("images/" + getRandomImage());
  });
  <img id="changeMe" src="images/default.jpg" />

那么您需要做的就是编写一个函数,该函数将从该目录返回一个随机图像。有很多方法可以做到这一点,但为了简单起见。

function getRandomImage() {
  var images = ["image1.jpg","image2.jpg","image3.jpg"];

  return images[Math.floor(Math.random() * images.length)];
}

JSFiddle

【讨论】:

  • 这是一个很好的答案。对于 getRandomImage() 函数,最好乘以数组长度,以防它包含更少或更多的键:return images[Math.floor(Math.random() * images.length)];
  • 这行得通,但我只是把它放在一起快速举个例子。根据您的建议编辑
  • 非常感谢!但是,我想知道......这看起来我必须在我的图像目录中定义所有图像。 (function getRandomImage() { var images = ["image1.jpg","image2.jpg","image3.jpg"];),有没有办法简单地将它链接到我的目录而无需定义我想要的图像加载?例如,让 jquery 或 JS 选择我的图像文件夹中的任何内容?
  • 我只是用它作为一个例子,你需要扩展这个想法以满足你自己的需要。
  • 谢谢!感谢回复
猜你喜欢
  • 1970-01-01
  • 2012-02-09
  • 2014-02-21
  • 1970-01-01
  • 1970-01-01
  • 2019-04-16
  • 1970-01-01
  • 2017-05-01
  • 1970-01-01
相关资源
最近更新 更多