Warum scrollt es automatisch nach oben, wenn ich auf den Slider klicke (siehe bitte meine letzte Frage für Code)?
Wenn ich auf den Slider klicke, dann scrollt es danach nicht mehr nach unten, sondern geht automatisch nach oben. Woran könnte das Problem liegen?
HTML:
<article id="ÜberschriftAnfang">
<h1>Michael Jackson - The King of Pop</h1>
<!-- Slideshow Container -->
<div class="slideshow-container">
<!-- Slide 1 -->
<div class="mySlides fade active" style="display:block">
<div class="numbertext">1 / 3</div>
<img src="Background picture.jpg" style="width:100%" alt="Background Image">
</div>
<!-- Slide 2 -->
<div class="mySlides fade">
<div class="numbertext">2 / 3</div>
<img src="papers.co.jpg" style="width:100%" alt="Background Image 2">
</div>
<!-- Slide 3 -->
<div class="mySlides fade">
<div class="numbertext">3 / 3</div>
<img src="5m6XCzF.jpg" style="width:100%" alt="Background Image 3">
</div>
<!-- Navigation Arrows -->
<a class="prev" onclick="plusSlides(-1)">❮</a>
<a class="next" onclick="plusSlides(1)">❯</a>
</div>
<!-- Dots Navigation -->
<div style="text-align:center">
<span class="dot" onclick="currentSlide(1)"></span>
<span class="dot" onclick="currentSlide(2)"></span>
<span class="dot" onclick="currentSlide(3)"></span>
</div>
</article>
JS:
let slideIndex = 1;
showSlides(slideIndex); // Startet die Slideshow und zeigt das erste Bild an.
function plusSlides(n) {
showSlides(slideIndex += n);
}
function currentSlide(n) {
showSlides(slideIndex = n);
}
function showSlides(n) {
let i;
let slides = document.getElementsByClassName("mySlides");
let dots = document.getElementsByClassName("dot");
// Überprüfen, ob der slideIndex größer als die Anzahl der Slides ist
if (n > slides.length) {
slideIndex = 1; // Setze den Index auf 1, wenn er größer ist als die Anzahl der Slides
}
// Überprüfen, ob der slideIndex kleiner als 1 ist
if (n < 1) {
slideIndex = slides.length; // Setze den Index auf die letzte Slide, wenn er kleiner ist als 1
}
// Alle Slides ausblenden
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
// Alle Dots zurücksetzen
for (i = 0; i < dots.length; i++) {
dots[i].className = dots[i].className.replace(" active", "");
}
// Zeige das aktuelle Bild und Dot
slides[slideIndex - 1].style.display = "block";
dots[slideIndex - 1].className += " active";
}
CSS: siehe Antwort
1 Antwort
@font-face {
font-family: myfirstfont;
src: url("static/EduAUVICWANTPre-Regular.ttf");
}
/*html*/
html {
scroll-behavior: smooth;
}
/*body*/
body {
max-width: 1200px;
margin: 0 auto;
background-color: #9b0000;
}
/*<header> <nav>*/
.a_href_button1,
.a_href_button2 {
background-color: grey;
border: 2.5px solid black;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
}
/*Oberste Überschrift und Bilder*/
h1 {
font-family: myfirstfont;
font-size: 75px;
text-align: center;
}
/* Slideshow container */
.slideshow-container {
max-width: 1000px;
position: relative;
margin: auto;
}
/* Next & previous buttons */
.prev, .next {
cursor: pointer;
position: absolute;
top: 50%;
width: auto;
padding: 16px;
margin-top: -22px;
color: white;
font-weight: bold;
font-size: 18px;
transition: 0.6s ease;
border-radius: 0 3px 3px 0;
user-select: none;
}
/* Position the "next button" to the right */
.next {
right: 0;
border-radius: 3px 0 0 3px;
}
/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
background-color: rgba(0,0,0,0.8);
}
/* Caption text */
.text {
color: #f2f2f2;
font-size: 15px;
padding: 8px 12px;
position: absolute;
bottom: 8px;
width: 100%;
text-align: center;
}
/* Number text (1/3 etc) */
.numbertext {
color: #f2f2f2;
font-size: 12px;
padding: 8px 12px;
position: absolute;
top: 0;
}
/* The dots/bullets/indicators */
.dot {
cursor: pointer;
height: 15px;
width: 15px;
margin: 0 2px;
background-color: #bbb;
border-radius: 50%;
display: inline-block;
transition: background-color 0.6s ease;
}
.active, .dot:hover {
background-color: #717171;
}
/* Fading animation */
.fade {
animation-name: fade;
animation-duration: 1.5s;
}
@keyframes fade {
from {opacity: .4}
to {opacity: 1}
}
/* On smaller screens, decrease text size */
@media only screen and (max-width: 300px) {
.prev, .next,.text {font-size: 11px}
}
/* Slideshow images default styling */
.mySlides {
display: none; /* Bilder sind standardmäßig unsichtbar */
}
.mySlides.active {
display: block; /* Nur das aktive Bild wird angezeigt */
}
/*#Hintergrundsbild*/
#Hintergrundsbild img {
object-fit: cover; /*Bild wird nicht verzehrt dargestellt*/
border-radius: 5px; /* Abgerundete Ecken für die Bilder */
display: block;
margin: 0;
padding: 0;
}
/* Erste Slide */
#First_Slide {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
gap: 10px;
margin: 20px;
}