Rumah > hujung hadapan web > tutorial css > Bolehkah saya Memandu? Pengekodan Penguji Alkohol

Bolehkah saya Memandu? Pengekodan Penguji Alkohol

Mary-Kate Olsen
Lepaskan: 2024-11-10 21:01:03
asal
1001 orang telah melayarinya

Di Denmark, tempat saya tinggal, malangnya kami memegang rekod di Eropah: anak-anak kami adalah peminum alkohol paling banyak di benua itu. Oleh sebab itu, terdapat tumpuan yang kuat untuk mengurangkan penggunaan alkohol remaja dan mendidik kanak-kanak tentang kesan alkohol.

Saya menyusun kalkulator alkohol dalam HTML dan JavaScript untuk sekolah tempatan kami untuk menunjukkan kepada pelajar cara alkohol mempengaruhi badan dan cara kandungan alkohol dalam darah (BAC) dikira.

Bagaimanakah BAC Dikira?

Untuk menganggarkan BAC atau "promille", anda memerlukan beberapa maklumat penting:

  • Berat badan anda – memandangkan badan yang lebih besar boleh mencairkan alkohol lebih banyak daripada yang lebih kecil.
  • Jantina biologi – disebabkan oleh paras kandungan air badan yang berbeza, yang menjejaskan pengedaran alkohol dalam badan.
  • Bilangan unit alkohol yang digunakan – kerana setiap jenis minuman mempunyai kepekatan alkohol yang berbeza.

Mengira Unit Alkohol

Minuman yang berbeza menyumbangkan jumlah alkohol yang berbeza kepada aliran darah anda, bergantung pada isipadu dan kepekatan alkoholnya. Untuk menyeragamkan ini, unit pengiraan alkohol biasanya dilakukan seperti berikut:

volume (cl) * alcohol percentage * 0.8 / 120
Salin selepas log masuk
Salin selepas log masuk

Struktur

Seluruh "apl" distrukturkan sebagai dengan set medan tersusun dan kawalan dinamakan, menjadikannya mudah untuk mengekstrak elemen yang diperlukan dengan:

const { add, addbeverage, etc. } = app.elements;
Salin selepas log masuk

Memandangkan Had BAC berbeza mengikut rantau, kita perlu memilih rantau dahulu, melaraskan penggelongsor berat dan memilih jantina biologi:

Can I Drive? Coding an Alcohol Tester


Seterusnya, kita boleh mula menambah minuman:

Can I Drive? Coding an Alcohol Tester

Ini ialah

mudah, di mana medan individu untuk unit, volum dan peratusan alkohol dilumpuhkan (dan disembunyikan melalui CSS), sehingga anda membuat pilihan daripada pemilih minuman:

Can I Drive? Coding an Alcohol Tester

Keterlihatan medan ini dikawal daripada fungsi enableElements:

[percentage, units, volume].forEach(el => el.disabled = !bool);
Salin selepas log masuk

Apabila kami kemudian menambah minuman, senarai minuman yang telah digunakan akan dibuat dan BAC, anggaran jam untuk menenangkan diri, dsb., dikira:

Can I Drive? Coding an Alcohol Tester

Anda kemudian boleh terus menambah lebih banyak minuman, dan kemas kini BAC sewajarnya:

Can I Drive? Coding an Alcohol Tester

Memang sangat mengejutkan saya apabila mengetahui bahawa BAC undang-undang di A.S. adalah 4x lebih besar daripada Sweden atau Norway!

Dalam erti kata lain, di Sweden, anda boleh kehilangan lesen anda kerana meminum jumlah yang dibenarkan di sisi undang-undang di A.S.


Memecahkan Pengiraan BAC

Pengiraan teras untuk BAC dikendalikan dalam fungsi calculateAnswer:

volume (cl) * alcohol percentage * 0.8 / 120
Salin selepas log masuk
Salin selepas log masuk

Mari kita pecahkan:

  1. Kadar Metabolisme Alkohol: Kadar Metabolisme alkohol = 0.015

    • Nilai ini mewakili kadar purata di mana badan mengurangkan BAC sejam (kira-kira 0.015%).
  2. Mengira BAC Semasa: currentBAC = ((jumlah * 10) / ((weight.valueAsNumber * 1000) * parseFloat(bodywater.value))) * 100

    • jumlah * 10: Ini menukarkan jumlah unit alkohol yang digunakan kepada gram (memandangkan satu unit bersamaan dengan kira-kira 10 gram alkohol tulen).
    • weight.valueAsNumber * 1000: Menukar berat badan daripada kilogram kepada gram untuk tujuan pengiraan.
    • nilai.air badan: Faktor perpuluhan berdasarkan jantina biologi, mempengaruhi cara pengagihan alkohol dalam badan (mis., 0.58 untuk lelaki, 0.49 untuk wanita).
    • Hasilnya kemudian didarabkan dengan 100 untuk menukar BAC kepada peratusan.
  3. Menganggarkan Jam kepada Sedar: jamToSober = (Kadar Metabolisme BAC / alkohol semasa).kepadaTetap(1);

    • MembahagikanBAC semasa dengan kadar metabolisme untuk menganggarkan masa yang diperlukan untuk BAC mencapai sifar.
  4. Menentukan Status Pemanduan Sah: canDrive = currentBAC <= parseFloat(limit.value);

    • Membandingkan currentBAC dengan had BAC undang-undang yang dipilih. Jika BAC semasa berada dalam had, pengguna dianggap "sesuai untuk memandu"; jika tidak, mereka tidak.

Fungsi hitungAnswer kemudian menggabungkan nilai ini ke dalam mesej yang menunjukkan BAC semasa, jam sehingga mabuk dan sama ada pengguna sesuai untuk memandu.


… Dan itu menyimpulkan tutorial ini. Jangan ragu untuk mencuba CodePen jika anda mahu — mungkin dengan mencipta UX yang lebih mesra kanak-kanak. Cuma ingat, alat ini menyediakan anggaran dan tidak mengambil kira faktor seperti masa anda mengambil setiap minuman. Dan perlu diingat, kemungkinan besar ia akan digunakan oleh orang yang sedar diri!


Demo


Sampul oleh DALL·E, daripada gesaan: Jana kereta mabuk dalam gaya kartun seperti Disney dan Cupheads awal, sebagai imej yang boleh saya pangkas kepada 1000x420px.

Atas ialah kandungan terperinci Bolehkah saya Memandu? Pengekodan Penguji Alkohol. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan