DANIEL SWOBODA

Ich bin Daniel, digitaler Gestalter aus Offenbach am Main. Seit mehr als 15 Jahren entwickle und gestalte ich User Interfaces, Websites und digitale Produkte für große und kleine Marken. Mit Begeisterung für gutes Design und Usability. Immer in der Schnittmenge von Nutzen und Ästhetik.

Kategorie hier

FRANKFURT AIRPORT

Ein Navigationssystem für den Flughafen

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Kategorie hier

FRANKFURT AIRPORT

Ein Navigationssystem für den Flughafen

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Kategorie hier

FRANKFURT AIRPORT

Ein Navigationssystem für den Flughafen

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Kategorie hier

FRANKFURT AIRPORT

Ein Navigationssystem für den Flughafen

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

DANIEL SWOBODA

MADE IN OFFENBACH WITH LOVE

;(function(){ // Hilfsfunktion: Entrance-Animation neu starten function restartAnimation(el) { var settings; try { settings = JSON.parse(el.getAttribute("data-settings")); } catch (e) { return; } var name = settings.animation; var isV4 = el.classList.contains("animate__animated"); var base = isV4 ? "animate__animated" : "animated"; var anim = isV4 ? "animate__" + name : name; el.classList.remove(base, anim); // Reflow erzwingen void el.offsetWidth; el.classList.add(base, anim); } // Scroll-End-Debounce document.addEventListener("DOMContentLoaded", function() { var scrollTimer; window.addEventListener("scroll", function() { clearTimeout(scrollTimer); scrollTimer = setTimeout(function() { // Mittelpunkt-Element ermitteln var centerEl = document.elementFromPoint( window.innerWidth / 2, window.innerHeight / 2 ); if (!centerEl) { return; } var section = centerEl.closest("section"); if (!section) { return; } // Alle Entrance-Animationen dieser Section neu triggern var animEls = section.querySelectorAll('[data-settings*="animation"]'); for (var i = 0; i < animEls.length; i++) { restartAnimation(animEls[i]); } }, 150); }); }); })();