Age calculation html code explained in detail
Here's a detailed explanation of the code in English:
1. Basic Structure of the Page:
<!DOCTYPE html>
<html lang="ar">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Age Calculator</title>
</head>
<body>
<h2>Age Calculator</h2>
<label for="birthDate">Enter your birth date:</label>
<input type="date" id="birthDate">
<button onclick="calculateAge()">Calculate Age</button>
<p id="result"></p>
</body>
</html>
<!DOCTYPE html>
: Specifies the document type as HTML5.<html lang="ar">
: Sets the page's language to Arabic.<meta charset="UTF-8">
: Specifies the character encoding to UTF-8, ensuring Arabic characters are displayed correctly.<meta name="viewport" content="width=device-width, initial-scale=1.0">
: Ensures the page is responsive and adjusts well to mobile devices.<title>Age Calculator</title>
: Sets the page title, which appears in the browser's title bar.
2. Elements in the Body (<body>
):
<h2>Age Calculator</h2>
: The main heading of the page.<label for="birthDate">Enter your birth date:</label>
: A label instructing the user to enter their birth date.<input type="date" id="birthDate">
: An input field where the user can select their birth date using a date picker.<button onclick="calculateAge()">Calculate Age</button>
: A button that, when clicked, triggers the JavaScript function to calculate the user's age.<p id="result"></p>
: A paragraph element to display the calculated age result.
3. JavaScript Function to Calculate Age:
<script>
function calculateAge() {
var birthDate = document.getElementById("birthDate").value;
var birthYear = new Date(birthDate).getFullYear();
var currentYear = new Date().getFullYear();
var age = currentYear - birthYear;
var birthMonth = new Date(birthDate).getMonth() + 1;
var currentMonth = new Date().getMonth() + 1;
var birthDay = new Date(birthDate).getDate();
var currentDay = new Date().getDate();
if (currentMonth < birthMonth || (currentMonth === birthMonth && currentDay < birthDay)) {
age--;
}
document.getElementById("result").innerHTML = "Your age is: " + age + " years";
}
</script>
Explanation of the calculateAge
function:
-
Get the birth date input:
var birthDate = document.getElementById("birthDate").value;
This line gets the value entered in the
input
field with the IDbirthDate
, which is the user's birth date. -
Convert birth date to a
Date
object:var birthYear = new Date(birthDate).getFullYear(); var birthMonth = new Date(birthDate).getMonth() + 1; var birthDay = new Date(birthDate).getDate();
new Date(birthDate)
: Creates a newDate
object from the entered birth date.getFullYear()
: Extracts the year from the birth date.getMonth()
: Extracts the month from the birth date (note that months are 0-indexed, so we add 1).getDate()
: Extracts the day of the month from the birth date.
-
Get the current year, month, and day:
var currentYear = new Date().getFullYear(); var currentMonth = new Date().getMonth() + 1; var currentDay = new Date().getDate();
These lines get the current date and extract the current year, month, and day.
-
Calculate the age:
var age = currentYear - birthYear;
This line calculates the age by subtracting the birth year from the current year.
-
Check if the birth month/day has passed this year:
if (currentMonth < birthMonth || (currentMonth === birthMonth && currentDay < birthDay)) { age--; }
- If the current month is less than the birth month, or if the current month is the same but the current day is less than the birth day, it means the user hasn't had their birthday yet this year. In that case, we subtract one year from the calculated age.
-
Display the result:
document.getElementById("result").innerHTML = "Your age is: " + age + " years";
This line updates the content of the paragraph with ID
result
to display the calculated age.
Summary:
- The code allows a user to input their birth date using a date picker.
- When the "Calculate Age" button is clicked, the JavaScript function calculates the user's age based on the difference between the current date and the birth date.
- The age is displayed on the page, taking into account whether the user's birthday has already occurred this year or not.
Comments
Post a Comment