带有随机图片的幻灯片
Slideshow with random pics
所以我用 HTML/CSS/JS 制作了这个小幻灯片,我想让它让 6 张图像随机出现,而不是 1,2,3.. 更像 2,3,1.. 例如。任何帮助,不胜感激。提前非常感谢。
.JS:
var imagecount = 1;
var total = 6;
function slide(x) {
var Image = document.getElementById('img');
imagecount = imagecount + x;
if(imagecount > total){imagecount = 1;}
if(imagecount < 1){imagecount = total;}
Image.src = "images/img"+ imagecount +".jpg";
ChangeText(imagecount);
}
window.setInterval(function slideA(x) {
var Image = document.getElementById('img');
imagecount = imagecount + 1;
if(imagecount > total){imagecount = 1;}
if(imagecount < 1){imagecount = total;}
Image.src = "images/img"+ imagecount +".jpg";
ChangeText(imagecount);
}, 3000);
function ChangeText(imgNum){
var allImagesAndText = {1: "Seltene römische Goldmünze", 2: "Römische Funde", 3: "Römische Wandmalerei", 4: "Tutanchamun", 5: "Cheops Pyramide", 6: "Ägyptische Malerei"};
document.getElementById("text1").innerHTML = allImagesAndText[imgNum];
}
.CSS:
#container {
height: 450px;
width: 650px;
margin: 20px auto;
position: relative;
z-index: 1;
border: 10px solid #000;
border-radius: 10px;
}
#img {
height: 450px;
width: 650px;
}
#left_holder {
height: 450px;
width: 100px;
position: absolute;
left: 0px;
top: 0px;
}
#right_holder {
height: 450px;
width: 100px;
position: absolute;
right: 0px;
top: 0px;
}
.left {
height: 50px;
width: 50px;
position: absolute;
top: 40%;
left: 0px;
}
.right {
height: 50px;
width: 50px;
position: absolute;
top: 40%;
right: 0px;
}
#text1 {
position: absolute;
color: #fff;
font-size: 32px;
background-color: #000;
opacity: 0.5;
left: 37%;
z-index: 2;
}
.HTML:
<div id="container">
<div id="text1">Text</div>
<img src="images/img1.jpg" id="img" />
<div id="left_holder">
<img onClick="slide(-1)" class="left" src="images/arrow_left.png" />
</div>
<div id="right_holder">
<img onClick="slide(1)" class="right" src="images/arrow_right.png" />
</div>
</div>
您可以创建唯一的随机图像滑块。所以它不会多次重复图像(Soham的答案很好,但它会连续多次重复相同的图像)。
像这样:
var imagecount = 1;
var total = 6;
var uniqueRandoms = [];
function makeUniqueRandom() {
if (!uniqueRandoms.length) {
for (var i = imagecount; i <= total; i++) {
uniqueRandoms.push(i);
}
}
var index = Math.floor(Math.random() * uniqueRandoms.length);
var val = uniqueRandoms[index];
uniqueRandoms.splice(index, 1);
return val;
}
我用了这个答案。
然后在你的代码中,只需在你需要的地方调用该函数。
此处为仅用于自动幻灯片的代码示例 https://jsfiddle.net/2gra4wk1/
您可以添加一个函数:-
function generateRandom(){
var x = Math.floor((Math.random() * 6) + 1); //generates random number from 1 to 6
return x;
}
然后调用这个函数并适当使用
相关文章:
- jQuery Orbit-如何制作随机幻灯片
- jQuery幻灯片 - 想要随机,但需要从相同的图像开始
- 引导程序3转盘-随机选择下一张幻灯片
- 带有两个带过渡的图像的随机幻灯片
- 使用javascript的随机幻灯片放映
- 具有随机起点的jQuery幻灯片
- JQuery 幻灯片错误.图片在页面上列出,而不是随机播放.找不到错误
- 如何让我的 javascript 函数随机选择一个函数(幻灯片),执行它,然后重复
- 如何根据随机幻灯片编号显示幻灯片
- 如何为jssor滑块随机选择几张幻灯片并隐藏其余幻灯片
- Javascript幻灯片与随机的第一张图片
- 随机图像顺序幻灯片
- 在reveal.js中随机化幻灯片
- 是否可以使此代码随机化幻灯片的图像?
- Javascript幻灯片以随机顺序显示
- 只是一个简单的问题??关于随机化这个幻灯片
- 随机幻灯片在Wordpress主题,JS
- JavaScript幻灯片显示,改变幻灯片每3秒,并开始在一个随机的图像
- 随机化幻灯片上的第一张图片
- 带有随机图片的幻灯片