【发布时间】:2016-06-15 11:05:50
【问题描述】:
因此,我需要在网站中显示 2 或 3 张不同的图像,作为内容的简单视差分隔符。
我有一个包含 4 张图片的数组,所以我可以在同一页面中随机化而不重复它们,尽管随机性不会那么明显。
我已经潜伏了一段时间,找到了这些
Random Image Display, Without Repeat, with Javascript
<script language="javascript">
var imagesArray = [
'images/img-1.jpg',
'images/img-2.jpg',
'images/img-3.jpg',
'images/img-4.jpg',
'images/img-5.jpg',
];
var usedImages = {};
var usedImagesCount = 0;
function displayImage() {
var num = Math.floor(Math.random() * (imagesArray.length));
if (!usedImages[num]) {
document.canvas.src = imagesArray[num];
usedImages[num] = true;
usedImagesCount++;
if (usedImagesCount === imagesArray.length) {
usedImagesCount = 0;
usedImages = {};
}
} else {
displayImage();
}
}
</script>
(这是为了在单击按钮时显示图像而创建的,如下所示
<input onclick="displayImage();" type=button value="Click Here">
我试图调整它以适应我的需要,但我页面上的调用没有产生任何结果)
(这个,我不太明白为什么,但我无法应用解决方案。不确定是代码错误还是调用图像的方式错误......)
http://www.utopiamechanicus.com/article/not-so-random-image-rotation-in-php-for-html-the-sequel/
<?php
// rotate images randomly but w/o dups on same page - format:
// <img src='rotate.php?i=0'> - rotate image #0 - use 'i=1'
// for second, etc
// (c) 2004 David Pankhurst - use freely, but please leave in my credit
$images = array(// list of files to rotate - add as needed
"img1.gif",
"img2.gif",
"img3.gif",
"img4.gif",
"img5.gif");
$total = count($images);
$secondsFixed = 10; // seconds to keep list the same
$seedValue = (int) (time() / $secondsFixed);
srand($seedValue);
for ($i = 0; $i < $total; ++$i) { // shuffle list 'randomly'
$r = rand(0, $total - 1);
$temp = $images[$i];
$images[$i] = $images[$r];
$images[$r] = $temp;
}
$index = (int) ($_GET['i']); // image index passed in
$i = $index % $total; // make sure index always in bounds
$file = $images[$i];
header("Location: $file"); // and pass file reference back
?>
(这个应该可以通过调用来工作:
<img src='mysite.com/rotate.php?i=0'>
但图像有时仍会重复)
它们对我不起作用,所以我决定开始一个新话题,因为我真的是 javascript 的新手(实际上,我什么都不知道),并且不知道什么是最好的方法。我知道这类似于随机化项目,为每个项目分配一个位置(一个数字、一个字符、一个 [i] 等),然后在我的 php 页面中调用它。大家能帮帮我吗?
【问题讨论】:
-
I don't know writing nothing at all这不是一个教程网站。 -
所有这些例子有什么问题,你还需要什么?
-
对不起。关于我的需求,我现在已经清理了一切。我不是要求某人从 a,b,c 教授(虽然这是我需要的,但是是的,这不是一个教程网站,一切都有自己的时间和地点),只是为了帮助我适应那些我需要的解决方案。
-
所以你想要 php,而不是 javascript?
-
@mitkosoft 实际上并不重要。如果 Javascript 产生了我需要的东西,并且我能够在我想要的任何位置调用网站上的图像,我可能会使用 Javascript。只是这是我知道的语言较少,但如果有人帮助我到达我需要的地方......没问题! :) 很难用语言表达我的需求,因为我不知道到达那里的最佳方式,但我只需要随机化一些图像,然后调用它们而不在同一页面上重复它们。
标签: javascript php image random