web前端实现LED功能、液晶显示时间、数字

news/2024/7/10 2:22:03 标签: javascript, web前端, css, html, vue

MENU

  • 效果演示
  • html部分
  • JavaScript部分
  • html" title=css>css部分


效果演示

2.0.1X


html_7">html部分

html"><div id="app">
	<!-- 页面 -->
	<div class="time-box">
		<!-- 时 -->
		<div class="house-box">
			<bit-component :num="houseTem"></bit-component>
			<bit-component :num="houseBit"></bit-component>
		</div>

		<div class="colon">:</div>

		<!-- 分 -->
		<div class="minute-box">
			<bit-component :num="minuteTem"></bit-component>
			<bit-component :num="minuteBit"></bit-component>
		</div>

		<div class="colon">:</div>

		<!-- 秒 -->
		<div class="second-box">
			<bit-component :num="secondTem"></bit-component>
			<bit-component :num="secondBit"></bit-component>
		</div>
	</div>
</div>

<!-- 组件 -->
<template id="BitComponent">
	<div class="clock-box">
		<div :class="{transverse: true, 'show-color': [0,2,3,5,6,7,8,9].includes(num)}"></div>

		<div class="portrait-box">
			<div :class="{portrait: true, 'show-color': [0,4,5,6,8,9].includes(num)}"></div>
			<div :class="{portrait: true, 'show-color': [0,1,2,3,4,7,8,9].includes(num)}"></div>
		</div>

		<div :class="{transverse: true, 'show-color': [2,3,4,5,6,8,9].includes(num)}"></div>

		<div class="portrait-box">
			<div :class="{portrait: true, 'show-color': [0,2,6,8].includes(num)}"></div>
			<div :class="{portrait: true, 'show-color': [0,1,3,4,5,6,7,8,9].includes(num)}"></div>
		</div>

		<div :class="{transverse: true, 'show-color': [0,2,3,5,6,8,9].includes(num)}"></div>
	</div>
</template>

以上代码需要引入以下文件:
1、<link rel="stylesheet" href="./index.html" title=css>css">
2、<script src="/node_modules/vue/dist/vue.js"></script>
3、<script src="./index.js"></script>


JavaScript部分

html" title=javascript>javascript">// 子组件
let BitComponent = {
    name: 'BitComponent',
    template: '#BitComponent',
    props: ['num'],
};

// 页面
new Vue({
    el: "#app",
    components: { BitComponent },
    data() {
        return {}
    },
    created() {
        setInterval(() => {
            let dateTime = new Date(),
                // yer = dateTime.getFullYear(),
                // moth = String(dateTime.getMonth() + 1),
                // day = dateTime.getDate().toString(),
                house = dateTime.getHours().toString(),
                minute = dateTime.getMinutes().toString(),
                second = dateTime.getSeconds().toString();

            // 补〇
            // moth = ('00' + moth).slice(moth.length);
            // day = ('00' + day).slice(day.length);
            house = ('00' + house).slice(house.length);
            minute = ('00' + minute).slice(minute.length);
            second = ('00' + second).slice(second.length);

            this.houseTem = Number(house[0]);
            this.houseBit = Number(house[1]);
            this.minuteTem = Number(minute[0]);
            this.minuteBit = Number(minute[1]);
            this.secondTem = Number(second[0]);
            this.secondBit = Number(second[1]);
        }, 1000);
    },
});

html" title=css>css_109">html" title=css>css部分

html" title=css>css">/* ---------------------页面样式--------------------- */
body {
    background-color: #333;
}

.colon {
    font-size: 68px;
    font-weight: 700;
    color: #FF0000;
    margin-top: -20px;
}

.time-box {
    width: 460px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* 时分秒 */
.house-box,
.minute-box,
.second-box {
    width: 130px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
/* ---------------------页面样式--------------------- */

/* ---------------------组件样式--------------------- */
.clock-box {
    width: 60px;
}

/* 横向显示 */
.transverse {
    width: 40px;
    height: 10px;
    margin-left: 10px;
    background-color: #444;
}

/* 纵向容器 */
.portrait-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* 纵向显示 */
.portrait {
    width: 10px;
    height: 30px;
    background-color: #444;
}

.show-color {
    background-color: #FF0000;
}
/* ---------------------组件样式--------------------- */

http://www.niftyadmin.cn/n/5252207.html

相关文章

【Java 基础】29 序列化

文章目录 1.定义2.目的3.使用1&#xff09;序列化2&#xff09;反序列化 3.应用场景4.注意事项总结 1.定义 序列化&#xff08;Serialization&#xff09;是将对象的状态转换为字节流的过程&#xff0c;以便将其存储到文件、数据库或通过网络传输 说简单点&#xff0c;序列化就…

取消Jenkins的定时清理工作空间

Jenkins会定时清理工作空间&#xff0c;会影响到部分工程的打包&#xff0c;因此我想取消它的自动清理。有以下2个方法 一、使用Jenkins自带的脚本命令行&#xff0c;执行命令取消自动清理 弊端&#xff1a;不能永久生效&#xff0c;每次重启Jenkins后都需要执行一次 #查看当…

【从0配置JAVA项目相关环境1】jdk + VSCode运行java + mysql + Navicat + 数据库本地化 + 启动java项目

从0配置JAVA项目相关环境 写在最前面一、安装Java的jdk环境1. 下载jdk2. 配置jdk3. 配置环境变量 二、在vscode中配置java运行环境1. 下载VSCode2. 下载并运行「Java Extension Pack」 三、安装mysql1.官网下载MySQL2.开始安装如果没有跳过安装成功 3.配置MySQL Server4.环境变…

linux中安装miniconda并解决conda:未找到命令的问题

Linux安装conda ubuntu系统安装miniconda3以后找不到conda 命令 linux-conda的安装与基本使用

排序算法-选择/堆排序(C语言)

1基本思想&#xff1a; 每一次从待排序的数据元素中选出最小&#xff08;或最大&#xff09;的一个元素&#xff0c;存放在序列的起始位置&#xff0c;直到全部待排序的 数据元素排完 。 2 直接选择排序: 在元素集合 array[i]--array[n-1] 中选择关键码最大 ( 小 ) 的数据元素…

子查询在SQL中的应用和实践

作者&#xff1a;CSDN-川川菜鸟 在SQL中&#xff0c;子查询是一种强大的工具&#xff0c;用于解决复杂的数据查询问题。本文将深入探讨子查询的概念、类型、规则&#xff0c;并通过具体案例展示其在实际应用中的用途。 文章目录 子查询概念子查询的类型子查询的规则实际案例分析…

使用 React 和 ECharts 创建地球模拟扩散和飞线效果

在本博客中&#xff0c;我们将学习如何使用 React 和 ECharts 创建一个酷炫的地球模拟扩散效果。我们将使用 ECharts 作为可视化库&#xff0c;以及 React 来构建我们的应用。地球贴图在文章的结尾。 最终效果 准备工作 首先&#xff0c;确保你已经安装了 React&#xff0c;并…

【ArcGIS Pro微课1000例】0054:Pro3.0创建数据库(文件数据库、移动数据库、企业级数据库)解读

文章目录 一、三种类型数据库解读二、三种类型数据库创建1. 文件数据库2. 移动数据库3. 企业级数据库三、注意事项一、三种类型数据库解读 ArcGIS Pro中主要有三种数据库类型,它们分别是:文件地理数据库、移动地理数据库和企业级地理数据库。它们的区别如下: 存储方式:文件…