Erleben Sie glückliche Stunden in unserer wunderschönen Umgebung
Festliche Veranstaltungen
Feiern Sie besondere Anlässe in unserem eleganten Ambiente
Scroll
(function () {
"use strict";
// Configuration
const config = {
autoplaySpeed: 5000, // 5 seconds per slide
autoplay: true, // Set to false to disable autoplay
pauseOnHover: true, // Pause autoplay on hover
swipeThreshold: 50, // Minimum swipe distance in pixels
};
const carousel = document.querySelector(".edelfuchs-carousel");
const track = carousel.querySelector(".edelfuchs-track");
const slides = Array.from(
carousel.querySelectorAll(".edelfuchs-slide"),
);
const dots = Array.from(document.querySelectorAll(".edelfuchs-dot"));
const prevButton = carousel.querySelector(".edelfuchs-nav.prev");
const nextButton = carousel.querySelector(".edelfuchs-nav.next");
const progressBar = carousel.querySelector(".edelfuchs-progress");
const scrollIndicator = carousel.querySelector(
".edelfuchs-scroll-indicator",
);
let currentIndex = 0;
let autoplayInterval;
let progressInterval;
let startX = 0;
let currentX = 0;
let isDragging = false;
// Update carousel position
function updateCarousel(index, skipAnimation = false) {
// Remove active class from all slides and dots
slides.forEach((slide) => slide.classList.remove("active"));
dots.forEach((dot) => dot.classList.remove("active"));
// Add active class to current slide and dot
slides[index].classList.add("active");
dots[index].classList.add("active");
// Move track
const offset = ‑index * 100;
if (skipAnimation) {
track.style.transition = "none";
}
track.style.transform = `translateX(${offset}%)`;
if (skipAnimation) {
setTimeout(() => {
track.style.transition = "";
}, 50);
}
currentIndex = index;
resetProgress();
}
// Next slide
function nextSlide() {
const next = (currentIndex + 1) % slides.length;
updateCarousel(next);
}
// Previous slide
function prevSlide() {
const prev = (currentIndex – 1 + slides.length) % slides.length;
updateCarousel(prev);
}
// Go to specific slide
function goToSlide(index) {
updateCarousel(index);
}
// Progress bar animation
function resetProgress() {
if (!config.autoplay) return;
clearInterval(progressInterval);
progressBar.style.transition = "none";
progressBar.style.width = "0%";
setTimeout(() => {
progressBar.style.transition = `width ${config.autoplaySpeed}ms linear`;
progressBar.style.width = "100%";
}, 50);
}
// Autoplay
function startAutoplay() {
if (!config.autoplay) return;
stopAutoplay();
resetProgress();
autoplayInterval = setInterval(nextSlide, config.autoplaySpeed);
}
function stopAutoplay() {
clearInterval(autoplayInterval);
clearInterval(progressInterval);
}
// Touch/Swipe support
function handleTouchStart(e) {
startX = e.type.includes("mouse") ? e.pageX : e.touches[0].pageX;
isDragging = true;
carousel
.querySelector(".edelfuchs-container")
.classList.add("dragging");
if (config.pauseOnHover) stopAutoplay();
}
function handleTouchMove(e) {
if (!isDragging) return;
currentX = e.type.includes("mouse") ? e.pageX : e.touches[0].pageX;
}
function handleTouchEnd() {
if (!isDragging) return;
const diff = startX – currentX;
carousel
.querySelector(".edelfuchs-container")
.classList.remove("dragging");
if (Math.abs(diff) > config.swipeThreshold) {
if (diff > 0) {
nextSlide();
} else {
prevSlide();
}
}
isDragging = false;
if (config.pauseOnHover) startAutoplay();
}
// Event listeners
prevButton.addEventListener("click", () => {
prevSlide();
if (config.autoplay) startAutoplay();
});
nextButton.addEventListener("click", () => {
nextSlide();
if (config.autoplay) startAutoplay();
});
dots.forEach((dot, index) => {
dot.addEventListener("click", () => {
goToSlide(index);
if (config.autoplay) startAutoplay();
});
});
// Touch events
const container = carousel.querySelector(".edelfuchs-container");
container.addEventListener("mousedown", handleTouchStart);
container.addEventListener("mousemove", handleTouchMove);
container.addEventListener("mouseup", handleTouchEnd);
container.addEventListener("mouseleave", handleTouchEnd);
container.addEventListener("touchstart", handleTouchStart);
container.addEventListener("touchmove", handleTouchMove);
container.addEventListener("touchend", handleTouchEnd);
// Pause on hover
if (config.pauseOnHover) {
carousel.addEventListener("mouseenter", stopAutoplay);
carousel.addEventListener("mouseleave", startAutoplay);
}
// Keyboard navigation
document.addEventListener("keydown", (e) => {
if (e.key === "ArrowLeft") prevSlide();
if (e.key === "ArrowRight") nextSlide();
});
// Scroll indicator click
if (scrollIndicator) {
scrollIndicator.addEventListener("click", () => {
window.scrollTo({
top: window.innerHeight,
behavior: "smooth",
});
});
}
// Initialize
startAutoplay(); })();
Die Edelfuchs-Lodge liegt malerisch im Schwarzwald und bietet Entspannung und Wohlbefinden. Ursprünglich als Ski-Hütte erbaut, wurde sie 2020 liebevoll renoviert. Seit Januar 2025 führen wir, Christina Haungs und Kevin Schoenenberg, die Lodge mit viel Herzblut, um Gästen einen Ort des Willkommenseins zu schaffen.
Schön, dass du bei uns gelandet bist! Wir freuen uns schon, auf deinen nächsten Besuch in der Edelfuchs-Lodge. Buch direkt deinen nächsten Aufenthalt oder reservier noch heute einen Tisch.
Wir verwenden Cookies, um unsere Website und unseren Service zu optimieren.
Funktional
Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt.Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.