JavaScript 从站点目录预加载随机命名的图像

标签 javascript html css image preload

我有一个带有视频和自定义视频控制按钮的 HTML 网站。例如,当您将鼠标悬停在播放/暂停按钮上时,它会使用 CSS 更改为具有不同颜色的播放按钮的不同照片,但是如果您是在加载或重新加载页面后第一次经过它,它会变为空白当您将鼠标悬停在它上面时,因为它必须加载它在悬停时更改为的图像。我找到了一种预加载具有从 1 开始的数字名称的图像的方法。我有一组缩略图,它们都有一个数字 + 'mo.png' 作为名称。它是 1mo.png、2mo.png 等等。我使用这种方法自动预加载它们:

for(var x = 1; x < 5; x++){
    no = x.toString();
    cs = 'img' + no + ' = new Image(); img' + no + ".src = 'media/" + no + "mo.png';";
    eval(cs);
}

但这仅适用于从 1mo.png 到 4mo.png 的图像(可以根据我要预加载的名称末尾带有“mo”的图片的数量来更改 4)。

我希望 JavaScript 遍历我目录中的图像文件夹,并使用我用于“mo”图像的相同方法预加载它找到的具有任何随机名称的任何图像。几乎所有我需要知道的是如何从我站点自己的目录中的某个文件夹中获取文件名并将它们存储在数组或变量中。

最佳答案

浏览器中的客户端 Javascript 无法直接访问您服务器的目录。 Node、Ruby、Python 和 PHP 等任何服务器端语言都可以解析您的文件和目录。

我会用您选择的语言设置一个脚本,将文件夹内容作为 jsonp 返回,这样您就可以从其他域调用它而不会出现跨站点脚本错误。然后通过 Javascript 中的 ajax 请求该文件夹内容脚本。

关于同一主题的问题:

list all images in directory in JSON

这是另一个有用的 PHP 函数。

print_r(scandir('/var/www/yoursite.com/media'));

http://www.php.net/manual/en/function.scandir.php

关于JavaScript 从站点目录预加载随机命名的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23713606/

相关文章:

javascript - 使用 CommonJS 进行 Rollup,使用 Treeshaking 进行导入和导出

javascript - Node 应用: How to increase timeout for mysql2 when debbuging?

html - CSS - 不要将跨度内容包装在固定宽度的表格单元格中

javascript - 使用 Javascript 和 React 检测 DIV 中的滚动位置

html - 在 Chrome/Firefox 中使用 <i> 图标和文本设置 <button> 样式

html - 在复杂的 HTML 结构中选择带有 CSS 的元素

javascript - 自动滚动 DIV 元素

javascript - Highcharts - 将条形图添加到饼图中

javascript - Jquery - 如何在不使用 DOM id 的情况下基于 HTML5 颜色选择器更改 css

html - 相对于另一个文本放置文本