Also habe ich diese kleine Diashow mit HTML/CSS/JS gemacht und ich möchte es so machen, dass die 6 Bilder zufällig und nicht 1,2,3 .. mehr wie 2,3,1 erscheinen. beispielsweise. Jede Hilfe wird geschätzt. Vielen Dank im Voraus.Diashow mit zufälligen Bildern
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>
danke für die Antwort es funktioniert. Ich habe eine andere Frage, wie mache ich es so, wenn ich die rechte oder linke Pfeiltaste drücke, stoppt es den Autoslide und ändert nur ein Bild, wenn ich einen Pfeil drücke? und ändert dann nach 3 Sekunden, nachdem ich keinen Pfeil gedrückt habe, die Bilder weiter? – CuttingTheAces
Nun, Sie können die gleiche Zufallsfunktion mit Ihrer 'slide()' -Funktion verwenden und beim Klicken 'setTimeout' für grundlegende Autoslides verwenden. Das Problem dabei ist, dass Sie ein zufälliges Bild sowohl beim vorherigen als auch beim nächsten Klick auf die Schaltfläche erhalten, so dass Sie vorherige Bilder speichern müssen und dann auf die vorherigen Schaltflächen klicken müssen. Aber diese Funktionen sind jenseits dieser Frage, also versuchen Sie es selbst oder stellen Sie eine neue Frage, wenn Sie feststecken :) – jakob