jQuery实现根据生日计算年龄 星座 生肖

要实现根据生日计算年龄、星座、生肖,可以使用 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技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • jQuery+PHP+MySQL二级联动下拉菜单实例讲解

    下面是”jQuery+PHP+MySQL二级联动下拉菜单实例讲解”的完整攻略: 一、实现原理 二级联动下拉菜单指的是:一个下拉菜单的选择会影响另一个下拉菜单的内容。实现该功能的原理如下: 通过jQuery发送Ajax请求,从数据库中获取数据。 使用PHP进行数据处理,将数据转换为所需的JSON格式。 将数据JSON格式通过AJAX发送给前端页面。 解析JSO…

    jquery 2023年5月27日
    00
  • jQuery验证插件validate使用方法详解

    jQuery验证插件validate使用方法详解 介绍 jQuery验证插件validate是一款基于jQuery的表单验证插件。它可以很轻松地对表单进行验证操作,包括输入内容是否符合要求、是否为空等等。而且该插件的配置选项非常丰富,可以自定义提示信息、错误处理方法等等。 安装 可以通过以下两种方式进行安装:1. 直接下载js文件放在项目中2. 使用CDN引…

    jquery 2023年5月27日
    00
  • jQuery判断指定id的对象是否存在的方法

    要判断指定id的对象是否存在,可以使用以下两种方法: 方法一:使用原生JavaScript的方式 使用原生JavaScript的方式判断指定id的对象是否存在可以通过以下代码实现: if(document.getElementById("指定id的对象")) { // 这里的代码会在指定id的对象存在的情况下被执行 } else { //…

    jquery 2023年5月28日
    00
  • jQuery实现表单动态添加数据并提交的方法

    下面是详细的“jQuery实现表单动态添加数据并提交的方法”的攻略: 1. 准备工作 引入jQuery库文件 在HTML文件中,我们需要先引入jQuery库文件以便于使用相关的jQuery函数。 <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js&…

    jquery 2023年5月27日
    00
  • 如何演示在DataTables中使用Ajax加载数据

    下面是详细讲解如何在DataTables中使用Ajax加载数据: 准备工作 首先要做的就是在你的网站中引入jQuery和DataTables插件,分别在head标签中添加以下代码: <script src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"…

    jquery 2023年5月12日
    00
  • 浅谈ajax请求不同页面的微信JSSDK问题

    下面是针对“浅谈ajax请求不同页面的微信JSSDK问题”的完整攻略: 1.问题背景 微信JS-SDK是微信公众号开发中必不可少的组成部分,它能够提供丰富的能力和接口供开发人员使用,例如分享、扫码、支付等。但是在实际开发过程中,我们可能会遇到通过 AJAX 请求加载不同页面时,微信JS-SDK 配置的问题。 2.AJAX请求与微信JS-SDK的问题 在页面通…

    jquery 2023年5月27日
    00
  • jQWidgets jqxToolBar关闭事件

    以下是关于 jQWidgets jqxToolBar 组件中关闭事件的详细攻略。 jQWidgets jqxToolBar 关闭事件 jQWidgets jqxToolBar 组件提供了 close 事件,该事件在工具栏关闭时触发。您使用 on() 方法来订阅该事件。 语法 $(‘#toolbar’).on(‘close’, function (event)…

    jquery 2023年5月11日
    00
  • jquery简单实现幻灯片的方法

    下面是关于“jquery简单实现幻灯片的方法”的完整攻略。 什么是jQuery jQuery 是一个 JavaScript 库,它简化了 HTML 与 JavaScript 之间的操作、以及多种浏览器之间的差异。jQuery 使得编写 JavaScript 更加容易。 实现幻灯片的步骤 在 HTML 页面中添加一个包含所有幻灯片的容器。 <div cl…

    jquery 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部