Wskaźniki ładowania
Część sekcji JavaScript w praktyce ścieżki HTML w Coddy. Lekcja 10 z 27.
Wskaźniki ładowania to niewielkie elementy wizualne (takie jak animacje ładowania lub inne animacje), które informują użytkowników, że coś dzieje się w tle (na przykład podczas wysyłania formularza lub ładowania danych). Poprawiają komfort użytkowania, pokazując informację zwrotną, zamiast pozostawiać użytkownika w niepewności.
Najpierw dodaj ten kod HTML do swojej strony:
<button id="loadBtn">Load Data</button>
<div id="loading-spinner" class="spinner-hidden">
<div class="spinner"></div>
</div>Następnie dodaj CSS, aby ostylować element tak, by wyglądał jak koło, i użyj klatek kluczowych, aby obracał się bez końca. Używamy też klasy .hidden, aby w razie potrzeby ukryć wskaźnik ładowania.
.spinner {
width: 40px;
height: 40px;
border: 4px solid #f3f3f3;
border-top: 4px solid #3498db;
border-radius: 50%;
animation: spin 1s linear infinite;
}
.hidden {
display: none;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}Teraz dodaj JavaScript, aby pokazywać/ukrywać wskaźnik ładowania:
const loadBtn = document.getElementById("loadBtn");
const spinner = document.getElementById("spinner");
loadBtn.addEventListener("click", function () {
// Pokaż spinner
spinner.classList.remove("hidden");
// Po 3 sekundach ukryj spinner i wyświetl alert
setTimeout(function () {
spinner.classList.add("hidden");
alert("Data loaded successfully!");
}, 3000);
});Po kliknięciu przycisku wyświetlamy wskaźnik ładowania, czekamy 3 sekundy, a następnie go ukrywamy i wyświetlamy alert.
Wyzwanie
ŁatwyTwoje zadanie:
- Wewnątrz funkcji nasłuchującej zdarzenia kliknięcia przycisku dodaj kod wyświetlający pokrętło ładowania przez usunięcie klasy "hidden". Umieść ten kod przed funkcją setTimeout.
Spróbuj swoich sił
<!DOCTYPE html>
<html>
<head>
<title>Loading Spinner Example</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<h1>Welcome to My Page</h1>
<p>Click the button below to simulate loading data.</p>
<button id="loadBtn">Load Data</button>
<div id="spinner" class="spinner hidden"></div>
</div>
<script src="script.js"></script>
</body>
</html>
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji JavaScript w praktyce
1Interaktywność/komponenty UI
KartyAkordeon (rozwijanie/zwijanie)Modal (otwieranie/zamykanie)Menu rozwijane2Formularze i walidacja
Walidacja danych wejściowychNiestandardowe komunikaty o błędachPrzyciski przesyłaniaPoćwicz samodzielnie: Edytor online Web