Spaces:
Running
Running
<script lang="ts"> | |
import { onMount } from 'svelte'; | |
export let imageUrls = [ | |
'/assets/images/adam.jpg', | |
'/assets/images/galaxy.jpg', | |
'/assets/images/earth.jpg', | |
'/assets/images/space.jpg' | |
]; | |
export let duration = 5000; | |
let selectedImageIdx = 0; | |
onMount(() => { | |
setInterval(() => { | |
selectedImageIdx = (selectedImageIdx + 1) % (imageUrls.length - 1); | |
}, duration); | |
}); | |
</script> | |
{#each imageUrls as imageUrl, idx (idx)} | |
<div | |
class="image w-full h-full absolute top-0 left-0 bg-cover bg-center transition-opacity duration-1000" | |
style="opacity: {selectedImageIdx === idx ? 1 : 0}; background-image: url('{imageUrl}')" | |
></div> | |
{/each} | |
<style> | |
.image { | |
position: absolute; | |
top: 0; | |
left: 0; | |
width: 100%; | |
height: 100%; | |
background-size: cover; | |
background-position: center; /* Center the background images */ | |
transition: opacity 1s ease-in-out; /* Smooth fade effect */ | |
opacity: 0; /* Make images initially not visible */ | |
} | |
</style> | |