要实现根据生日计算年龄、星座、生肖,可以使用 jQuery 的日期处理功能以及条件判断。
首先需要获取用户输入的生日,可以通过 HTML 表单来实现,例如:
<form>
<label for="birthday">生日:</label>
<input type="date" id="birthday" name="birthday">
<button id="calculate">计算</button>
</form>
接下来,在 jQuery 中获取用户输入的生日日期,可以使用 jQuery.val()
方法和 Date
对象:
$(document).ready(function() {
$('#calculate').click(function() {
var birthday = $('#birthday').val();
var birthDate = new Date(birthday);
// ...
});
});
接着就可以通过 Date
对象获取用户的年龄、星座和生肖。计算年龄可以使用 Date
对象的 getFullYear()
方法,再减去用户生日的年份:
var age = new Date().getFullYear() - birthDate.getFullYear();
计算星座可以使用条件判断来实现。星座可以根据月份和日期来判断,例如,如果用户生日在3月21日到4月19日之间,那么星座为白羊座,代码如下:
var zodiacNames = ['鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊', '猴', '鸡', '狗', '猪'];
var astroNames = ['白羊座', '金牛座', '双子座', '巨蟹座', '狮子座', '处女座', '天秤座', '天蝎座', '射手座', '摩羯座', '水瓶座', '双鱼座'];
var astroIndex = birthDate.getMonth() * 100 + birthDate.getDate();
var astroNamesIndex = birthDate.getMonth();
if (astroIndex >= 321 && astroIndex <= 419) {
var astro = astroNames[0];
} else if (astroIndex >= 420 && astroIndex <= 520) {
var astro = astroNames[1];
} else if (astroIndex >= 521 && astroIndex <= 621) {
var astro = astroNames[2];
}
// ...
最后,可以使用中国传统农历的规律来计算生肖。每12年是一个生肖周期,通过生日年份与1900年相比较得到属于哪个生肖。代码如下:
var zodiacIndex = (birthDate.getFullYear() - 1900) % 12;
var zodiac = zodiacNames[zodiacIndex];
将计算得到的年龄、星座和生肖显示在网页上,可以使用 jQuery 的 .html()
方法,例如:
$('#result').html('年龄: ' + age + '岁, 星座: ' + astro + ', 生肖: ' + zodiac);
完整的实现代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>计算年龄、星座、生肖</title>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<form>
<label for="birthday">生日:</label>
<input type="date" id="birthday" name="birthday">
<button id="calculate">计算</button>
</form>
<div id="result"></div>
<script>
$(document).ready(function() {
$('#calculate').click(function() {
var birthday = $('#birthday').val();
var birthDate = new Date(birthday);
var age = new Date().getFullYear() - birthDate.getFullYear();
var zodiacNames = ['鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊', '猴', '鸡', '狗', '猪'];
var astroNames = ['白羊座', '金牛座', '双子座', '巨蟹座', '狮子座', '处女座', '天秤座', '天蝎座', '射手座', '摩羯座', '水瓶座', '双鱼座'];
var astroIndex = birthDate.getMonth() * 100 + birthDate.getDate();
var astroNamesIndex = birthDate.getMonth();
if (astroIndex >= 321 && astroIndex <= 419) {
var astro = astroNames[0];
} else if (astroIndex >= 420 && astroIndex <= 520) {
var astro = astroNames[1];
} else if (astroIndex >= 521 && astroIndex <= 621) {
var astro = astroNames[2];
} // ...
var zodiacIndex = (birthDate.getFullYear() - 1900) % 12;
var zodiac = zodiacNames[zodiacIndex];
$('#result').html('年龄: ' + age + '岁, 星座: ' + astro + ', 生肖: ' + zodiac);
});
});
</script>
</body>
</html>
示例1:
如果输入的生日是1999年3月20日,那么计算得到的结果应该是年龄22岁,星座是双鱼座,生肖是兔子。
示例2:
如果输入的生日是1990年11月3日,那么计算得到的结果应该是年龄31岁,星座是天蝎座,生肖是马。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQuery实现根据生日计算年龄 星座 生肖 - Python技术站