成都工业学院Web技术基础(WEB)实验七:Date、Math、Array对象使用

news2024/11/24 21:05:01

写在前面

1、基于2022级计算机大类实验指导书

2、代码仅提供参考,前端变化比较大,按照要求,只能做到像,不能做到一模一样

3、图片和文字仅为示例,需要自行替换

4、如果代码不满足你的要求,请寻求其他的途径

运行环境

window11家庭版

WebStorm 2023.2.2

实验要求、源代码和运行结果

1、采用HBuilder 编写代码,实现图7-1所示的显示日期、时间及倒计时效果。要求:

① 在页面中通过JavaScript的Date对象显示当前的日期、星期、时间。

② 使用数组Array对象显示当天的星期信息。

③ 根据当前的时间显示相应的问候语(上午好、下午好或晚上好)。

④ 计算出当天距离指定日期的相差天数,运用Math对象的相应方法得到整数的天数。

⑤ 用doucment.write()显示以上所得到的信息。

图7-1  显示日期、时间及倒计时效果示意图

(1)新建html文档,在<script></script>标签之间书写JavaScript代码实现功能。

(2)采用JavaScript的Date对象获取当前日期和时间。

(3)通过数组Array对象显示当天的星期信息。例:arrayDay=["日" , "一" , "二" , "三" , "四" , "五" , "六" ]; 及"星期" + arrayDay[getDay()]来实现。

(4)通过Math对象的floor()方法来得到倒计时的天数。

(5)通过if语句实现相应的问候语信息。

(6)通过document.write() 显示以上所得到的信息。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script>
        function getCurrentDate() {
            return new Date();
        }
        function formatDate(date) {
            return date.getFullYear() + "年" + (date.getMonth() + 1) + "月" + date.getDate() + "日";
        }
        function formatDayOfWeek(date) {
            var dayOfWeek = ["日", "一", "二", "三", "四", "五", "六"];
            return "星期" + dayOfWeek[date.getDay()];
        }
        function formatTime(date) {
            return padZero(date.getHours()) + ":" + padZero(date.getMinutes()) + ":" + padZero(date.getSeconds());
        }
        function calculateCountdownDays(targetDate) {
            var currentDate = getCurrentDate();
            return Math.floor((targetDate - currentDate) / (1000 * 60 * 60 * 24));
        }
        function getGreeting(hour) {
            if (hour < 12) {
                return "上午好!";
            } else if (hour < 18) {
                return "下午好!";
            } else {
                return "晚上好!";
            }
        }
        function padZero(num) {
            return num < 10 ? "0" + num : num;
        }
        function displayDateTime() {
            var currentDate = getCurrentDate();
            var dateString = "日期:" + formatDate(currentDate);
            var dayString = formatDayOfWeek(currentDate);
            var timeString = "时间:" + formatTime(currentDate);
            var targetDate = new Date("2024-1-1");
            var timeDifference = calculateCountdownDays(targetDate);
            var greeting = getGreeting(currentDate.getHours());

            document.write(dateString + "<br>");
            document.write(dayString + "<br>");
            document.write(timeString + "<br>");
            document.write("距离指元旦还有 " + timeDifference + " 天<br>");
            document.write(greeting);
        }
    </script>
    <title></title>
</head>
<body>
<script>
    displayDateTime();
</script>
</body>
</html>

2、采用HBuilder 编写代码,实现图7-2所示的动态时钟效果。要求:

① 页面按图7-2进行布局。

② 点击计时开始文本框内的文本每秒钟改变一次,与系统时间保持一致。

③ 点击计时结束文本框内的文本暂停变化。

④ 分别编写计时开始和计时结束函数完成相应功能。

⑤ 当小时、分钟、秒数值小于10时,首位要补0。

 

图7-2  时钟效果示意图

(1)新建html文档,在<script></script>标签之间书写JavaScript代码实现功能。

(2)采用<form><input>等标签完成页面内容的编写。

(3)编写开始计时和结束计时的函数。

(4)分别在计时开始和计时结束按钮上通过onClick事件绑定计时和结束函数。

(5)功能测试。

注:

1)采用JavaScript的Date对象获取当前时间。

2)计时采用setInterval(code,millsecond)实现;计时结束采用clearInterval(id)

实现,其中id为setInterval函数对应的ID标识。

​
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <style>
        form {
            text-align: center;
        }

        #timeDisplay {
            width: 150px;
            text-align: center;
        }

        #startButton, #stopButton {
            width: 75px;
        }
    </style>
    <script>
        let startClockInterval;

        function startClock() {
            startClockInterval = setInterval(updateStartTime, 1000);
        }

        function stopClock() {
            clearInterval(startClockInterval);
        }

        function updateStartTime() {
            const startTimeElement = document.getElementById('timeDisplay');
            const currentDate = new Date();

            const hours = padZero(currentDate.getHours());
            const minutes = padZero(currentDate.getMinutes());
            const seconds = padZero(currentDate.getSeconds());

            startTimeElement.value = `${hours}:${minutes}:${seconds}`;
        }

        function padZero(value) {
            return value < 10 ? `0${value}` : value;
        }
    </script>
    <title></title>
</head>
<body>
<form>
    <button type="button" id="startButton" onclick="startClock()">开始计时</button>
    <input type="text" id="timeDisplay" value="00:00:00" readonly>
    <button type="button" id="stopButton" onclick="stopClock()">结束计时</button>
</form>
</body>
</html>

​

点击开始计时前

点击开始计时后

点击结束计时后

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1301708.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

简单聊聊使用lombok 的争议

大家好&#xff0c;我是G探险者。 项目里&#xff0c;因为我使用了Lombok插件&#xff0c;然后代码走查的时候被领导点名了。 我心想&#xff0c;这么好用的插件&#xff0c;为啥不推广呢&#xff0c;整天写那些烦人的setter&#xff0c;getter方法就不嫌烦么&#xff1f; 领导…

在SpringData JPA 中实现对持久层的操作

1.导入依赖 hibernate 这个依赖自带实现JPA接口 <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><depen…

微信小程序、uniapp自定义底部导航栏(附源码)

需求分析 目前开发一套“同城跑腿平台”小程序&#xff0c;面向用户和骑手&#xff0c;需要两个不同的底部导航&#xff0c;uniapp原生导航不满足要求。所以需要自定义导航栏。 随着自定义导航卡完成&#xff0c;切换选项卡页面总是闪烁&#xff0c;在网上也没有搜到完整的解决…

性能监控体系:InfluxDB Grafana Prometheus

InfluxDB 简介 什么是 InfluxDB &#xff1f; InfluxDB 是一个由 InfluxData 开发的&#xff0c;开源的时序型数据库。它由 Go 语言写成&#xff0c;着力于高性能地查询与存储时序型数据。 InfluxDB 被广泛应用于存储系统的监控数据、IoT 行业的实时数据等场景。 可配合 Te…

Python安装基础之如何查看python版本、如何查看多个python版本

文章目录 前言最简单的验证手段查看python的路径直接查看python版本默认的python版本就是cmd进入的python关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小…

离散型随机变量的分布律(也称概率质量函数:probability mass function, PMF)

设是一个离散型随机变量&#xff0c;可能的取值为&#xff0c;取各个值的概率记为&#xff1a; &#xff08;1&#xff09; 其中 并且&#xff0c; 公式&#xff08;1&#xff09;就称为离散型随机变量的分布律&#xff0c;也称概率质量函数&#xff1a;probability ma…

Python 进阶(十三):JSON 序列化和反序列化(json 模块)

大家好,我是水滴~~ 本篇文章主要介绍json模块的功能,包括将Python对象序列化到文件、将Python对象序列化为字符串、序列化时类型的对照表、将文件中JSON数据反序列化为Python对象,将JSON字符串反序列化为Python对象、反序列化时类型的对照表等。 文章中包含大量的代码示例…

安防 音响 车载等产品中音频接口选型的高性能国产芯片分析

在人工智能兴起之后&#xff0c;安防市场就成为了其全球最大的市场&#xff0c;也是成功落地的最主要场景之一。对于安防应用而言&#xff0c;智慧摄像头、智慧交通、智慧城市等概念的不断涌现&#xff0c;对于芯片产业催生出海量需求。今天&#xff0c;我将为大家梳理GLOBALCH…

arcgis for js 添加自定义叠加图片到地图坐标点上

在使用arcgis for js开发地图绘制图层时&#xff0c;可以通过相关api实现添加图标到某个坐标点&#xff0c;那么如果现在有一个需要添加一个小图叠大图的需求&#xff0c;又或者是自定义绘制图标&#xff0c;如何实现&#xff1f; 1、简单地绘制一个图标到底图图层上面 const…

[C++] STL_priority_queue(优先级队列) 的使用及底层的模拟实现,容器适配器,deque的原理介绍

文章目录 1、priority_queue1.1 priority_queue的介绍和使用1.2 priority_queue的使用模拟实现&#xff1a; 2、容器适配器2.1 什么是适配器2.2 STL标准库中stack和queue的底层结构 3、deque3.1 deque的原理介绍3.2 deque的缺陷 4、为什么选择deque作为stack和queue的底层默认容…

笔记本电脑word打字延迟特别大,但是浏览器中打字没有延迟,如何解决这个问题。

问题描述&#xff1a; 笔记本电脑word打字延迟特别大&#xff0c;但是浏览器中打字没有延迟&#xff0c;如何解决这个问题。&#xff08;之前以为是自己的电脑用了6年&#xff0c;用的时间久了&#xff0c;硬件老化导致的&#xff0c;本来想直接换电脑的&#xff0c;但是想着去…

计算机毕业设计 基于SpringBoot的电动车租赁系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

Kafka事务是怎么实现的?Kafka事务消息原理详解

目录 一、Kafka事务性消息1.1 介绍Kafka事务性消息1.2 事务性消息的应用场景1.3 Kafka事务性消息的优势 二、Kafka事务性消息的使用2.1 配置Kafka以支持事务性消息生产者配置消费者配置 2.2 生产者&#xff1a;发送事务性消息创建Kafka生产者开始事务发送消息提交或中止事务 2.…

【MySQL】在 Centos7 环境下安装 MySQL

环境搭建 一、检查环境二、检查系统安装包三、安装 mysql yum 源四、安装 mysql 服务五、启动服务六、登录 mysql七、配置 my.cnf 注意&#xff0c;我们搭建的 mysql 环境是在 Linux 的 Centos7 环境下安装的~ 一、检查环境 注意&#xff0c;我们在安装和卸载中&#xff0c;先…

前端面试(5)

1、移动端适配 1.1、设置meta缩放比例&#xff0c;将设备窗口调整为设计图大小。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width,initial-sc…

用到了C语言的函数指针功能。

请选择一个功能&#xff1a; 1. 加法 2. 减法 3. 乘法 4. 除法 5. 取模 6. 阶乘 7. 判断素数 8. 球体体积 9. 斐波那契数列 10. 幂运算 11. 最大公约数 12. 最小公倍数 13. 交换数字 14. 排序 15. 退出 请选择一个选项&#xff1a; #include <stdio.h> #include <stdl…

区块链实验室(31) - 交叉编译Ethereum的客户端Geth

编译Geth到X86架构平台 下载Geth源码&#xff0c;直接编译Geth源码&#xff0c;见下图。用file命令观察编译后的文件&#xff0c;架构是x86-64。 编译Geth到Arm64架构平台 直接用命令行编译&#xff0c;同时指定期望的架构为Arm64。编译脚本如下所示。 CGO_ENABLED0 GOOSlin…

LeetCode力扣每日一题(Java):35、搜索插入位置

一、题目 二、解题思路 1、我的思路&#xff08;又称&#xff1a;论API的重要性&#xff09; 读完题目之后&#xff0c;我心想这题目怎么看着这么眼熟&#xff1f;好像我之前学过的一个API呀&#xff01; 于是我回去翻了翻我之前写的博客&#xff1a;小白备战蓝桥杯&#xf…

JAVA安全之Spring参数绑定漏洞CVE-2022-22965

前言 在介绍这个漏洞前&#xff0c;介绍下在spring下的参数绑定 在Spring框架中&#xff0c;参数绑定是一种常见的操作&#xff0c;用于将HTTP请求的参数值绑定到Controller方法的参数上。下面是一些示例&#xff0c;展示了如何在Spring中进行参数绑定&#xff1a; 示例1&am…

前端知识(十)———JavaScript 使用URL跳转传递数组对象数据类型的方法

目录 首先了解一下正常传递基本数据类型 JavaScript跳转页面方法 JavaScript路由传递参数 JavaScript路由接收参数传递对象、数组 在前端有的时候会需要用链接进行传递参数&#xff0c;基本数据类型的传递还是比较简单的&#xff0c;但是如果要传递引用数据类型就比较麻烦了…