HTML Academy · Pelajaran

Elemen progress dan meter

Paparkan nilai penyelesaian dan ukuran dengan HTML asli

Pelajaran 4 daripada 414 langkah

Elemen progress dan meter ialah pelajaran HTML Academy percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran HTML Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus HTML Academy merangkumi sejumlah 4 pelajaran.

Elemen kemajuan

Elemen <progress> mewakili penyelesaian sesuatu tugas:

<label for="upload">File upload progress:</label>
<progress id="upload" max="100" value="72">72%</progress>
<!-- max: total amount of work (default: 1) -->
<!-- value: amount of work done -->
<!-- Content between tags: fallback for old browsers -->

Kemajuan Tidak Tentu

Tanpa value, kemajuan memaparkan animasi yang tidak tentu:

<!-- Indeterminate: value not set -->
<progress id="loading">Loading...</progress>
<!-- Browser shows a cycling animation (no value known) -->

<!-- Set value when progress is known: -->
<script>
document.getElementById('loading').value = 45;
// Now shows 45% complete (with max=1: 0.45 = 45%)
</script>

Menganimasikan kemajuan dengan JavaScript

Kemas kini kemajuan secara dinamik:

<progress id="task" max="100" value="0"></progress>
<span id="pct">0%</span>

<script>
let progress = 0;
const bar = document.getElementById('task');
const pct = document.getElementById('pct');

const interval = setInterval(() => {
  progress += 10;
  bar.value = progress;
  pct.textContent = progress + '%';
  if (progress >= 100) clearInterval(interval);
}, 500);
</script>

Elemen meter

Elemen <meter> memaparkan ukuran skalar dalam julat yang diketahui:

<meter min="0" max="100" value="72">72 out of 100</meter>
<!-- Unlike progress (task completion), meter shows a static measurement:
  - Disk usage
  - Password strength
  - Score or rating
  - Fuel level
-->

Atribut meter

meter mempunyai beberapa atribut untuk mentakrifkan julat optimum dan amaran:

<meter
  min="0"      <!-- minimum possible value -->
  max="100"   <!-- maximum possible value -->
  low="30"    <!-- threshold: below this = low -->
  high="70"   <!-- threshold: above this = high -->
  optimum="50" <!-- where the optimal value lies -->
  value="85"
>85/100</meter>

Keadaan Warna meter

Pelayar mewarnakan meter berdasarkan nilai rendah/tinggi/optimum:

<!-- optimum is in the low range: low values are good (e.g., error count) -->
<meter min="0" max="100" low="30" high="70" optimum="0" value="10">
  10 errors  <!-- green: value is in the good zone -->
</meter>

<!-- optimum is in the high range: high values are good (e.g., score) -->
<meter min="0" max="100" low="40" high="80" optimum="100" value="55">
  55 points  <!-- yellow: between low and high -->
</meter>

Penggunaan Cakera dengan meter

Kes penggunaan meter klasik: penggunaan cakera atau memori:

<label for="disk">Disk usage:</label>
<meter
  id="disk"
  min="0"
  max="500"
  low="400"
  high="450"
  optimum="0"
  value="420"
>420 GB of 500 GB used</meter>
<p>420 GB of 500 GB used (84%)</p>

Kekuatan Kata Laluan dengan meter

Gunakan meter untuk memaparkan kekuatan kata laluan:

<label for="pwd">Password</label>
<input type="password" id="pwd">
<label for="strength">Strength:</label>
<meter id="strength" min="0" max="4" low="1" high="3" optimum="4" value="0"></meter>

<script>
document.getElementById('pwd').addEventListener('input', function() {
  const strength = calculateStrength(this.value); // 0-4
  document.getElementById('strength').value = strength;
});
</script>

Menggayakan kemajuan dan meter

Penggayaan tersuai untuk kemajuan dan meter:

/* Basic progress styling */
progress {
  appearance: none;
  width: 100%;
  height: 8px;
  border-radius: 4px;
  background: #e2e8f0;
  border: none;
}

progress::-webkit-progress-bar { background: #e2e8f0; }
progress::-webkit-progress-value { background: #0070f3; }
progress::-moz-progress-bar { background: #0070f3; }

Kebolehcapaian kemajuan

Tambahkan atribut ARIA untuk sokongan pembaca skrin yang lebih baik:

<label for="upload">Upload progress</label>
<progress
  id="upload"
  max="100"
  value="65"
  aria-valuenow="65"
  aria-valuemin="0"
  aria-valuemax="100"
  aria-label="File upload: 65% complete"
>65%</progress>

Ringkasan kemajuan berbanding meter

Perbezaan utama:

  • <progress> — penyelesaian tugas dari semasa ke semasa; nilai meningkat menuju max; boleh menjadi tidak tentu
  • <meter> — ukuran skalar statik; nilai sudah diketahui; mempunyai zon rendah/tinggi/optimum

Bila Perlu Menggunakan Setiap Satu

Panduan kes penggunaan:

  • progress — muat naik fail, panduan penyelesaian borang, bar pemuatan
  • meter — penggunaan cakera, tolok bahan api, skor kredit, tahap bateri, keterkaitan hasil carian

Semakan Pantas

Elemen manakah yang sesuai untuk menunjukkan tahap kepenuhan cakera keras?

Ulang kaji: kemajuan dan meter

Asas kemajuan dan meter:

  • <progress max value> — penyelesaian tugas; tidak tentu tanpa value
  • <meter min max low high optimum value> — ukuran statik
  • Pelayar mewarnakan meter secara automatik berdasarkan kedudukan optimum
  • Tambahkan aria-valuenow/min/max untuk sokongan pembaca skrin
Percuma untuk bermula

Pelajari HTML dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
40
Pelajaran
159

Soalan Lazim

Adakah pelajaran “Elemen progress dan meter” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran HTML Academy, termasuk “Elemen progress dan meter”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus HTML Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Elemen progress dan meter”?

Paparkan nilai penyelesaian dan ukuran dengan HTML asli Anda berlatih HTML Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan HTML Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran HTML Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Elemen progress dan meter” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran HTML Academy ini?

Ya. Setiap pelajaran HTML Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. aside Kandungan Pelengkap
  2. figure dan figcaption Sekali Lagi
  3. details dan summary Widget Pendedahan
  4. Elemen progress dan meter
← Kembali ke HTML Academy