.gitea
assets
content
data
i18n
layouts
_default
abiturienten
about
anmeldeformular
anmeldung
author
begabte
cantorfora
cantorpreis
forms
ganztagsangebote
kontakt
pages
partials
projektwoche
schulchronik
shortcodes
card-small.html
card.html
collapsible-lite.html
collapsible.html
download.html
figure.html
gallery.html
slider.html
youtube.html
superhaufen
termine
wettbewerbe
404.html
index.html
robots.txt
static
.drone.dev.yml
.drone.yml
.gitignore
.gitmodules
.mailmap
LICENSE
config.yml
76 lines
2.0 KiB
HTML
76 lines
2.0 KiB
HTML
<div class="img-slider">
|
|
{{- with (.Get "dir") -}}
|
|
{{- $files := readDir (print "/static/" .) }}
|
|
{{- range $index, $file := $files -}}
|
|
{{- $isimg := lower $file.Name | findRE "\\.(gif|jpg|jpeg|tiff|png|bmp|webp|avif|jxl)" }}
|
|
{{- if $isimg }}
|
|
{{- $linkURL := print $.Site.BaseURL "/" ($.Get "dir") "/" $file.Name | absURL }}
|
|
<div class="is-slide {{if eq $index 0 }}active{{end}}">
|
|
<img src="{{ $linkURL }}" alt="">
|
|
</div>
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
<div class="is-navigation">
|
|
<div class="is-btn active"></div>
|
|
<div class="is-btn"></div>
|
|
<div class="is-btn"></div>
|
|
<div class="is-btn"></div>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
var slides = document.querySelectorAll('.is-slide');
|
|
var btns = document.querySelectorAll('.is-btn');
|
|
let currentSlide = 1;
|
|
|
|
// Javascript for image slider manual navigation
|
|
var manualNav = function(manual){
|
|
slides.forEach((slide) => {
|
|
slide.classList.remove('active');
|
|
|
|
btns.forEach((btn) => {
|
|
btn.classList.remove('active');
|
|
});
|
|
});
|
|
|
|
slides[manual].classList.add('active');
|
|
btns[manual].classList.add('active');
|
|
}
|
|
|
|
btns.forEach((btn, i) => {
|
|
btn.addEventListener("click", () => {
|
|
manualNav(i);
|
|
currentSlide = i;
|
|
});
|
|
});
|
|
|
|
// Javascript for image slider autoplay navigation
|
|
var repeat = function(activeClass){
|
|
let active = document.getElementsByClassName('active');
|
|
let i = 1;
|
|
|
|
var repeater = () => {
|
|
setTimeout(function(){
|
|
[...active].forEach((activeSlide) => {
|
|
activeSlide.classList.remove('active');
|
|
});
|
|
|
|
slides[i].classList.add('active');
|
|
btns[i].classList.add('active');
|
|
i++;
|
|
|
|
if(slides.length == i){
|
|
i = 0;
|
|
}
|
|
if(i >= slides.length){
|
|
return;
|
|
}
|
|
repeater();
|
|
/// Time in ms
|
|
}, 5000);
|
|
}
|
|
repeater();
|
|
}
|
|
repeat();
|
|
</script>
|