daily-timeline.js——打造每日时间轴

2023-11-18

最近因为需要在做会议室预约系统,其中需要用到一个显示当天预约情况的时间轴,去网上找了一下,发现只有和微博类似的历史时间轴,于是便自己动手做了一个当日时间轴控件(daily-timeline.js),实际使用效果如下:

效果图

原理是Canvas的绘制,难点不多都是基本操作,但要考虑坐标的关系,以及文本的相对居中这些细节的东西。

使用方法:

1、创建canvas标签,id和daily-timeline.js中保持一致即可,宽高亦可修改,同时记得引入js

<canvas id="dailyTimeline" width="800px" height="1440px" style=""></canvas>

<script type="text/javascript" src="js/daily-timeline.js"></script>

2、绘制日程格子

createSchedule(startTime, endTime, contentText);

参数:

startTime,开始时间(格式”xx:xx”)
endTime,结束时间(格式”xx:xx”)
contentText,文本内容(可选)

例如:

createSchedule("08:20", "09:10", "吃饭");
createSchedule("09:45", "10:10", "睡觉");
createSchedule("11:20", "13:00", "打豆豆");

效果:

日程格子

3、空数据时显示友好提示

drawEmptyView("今天还没有数据哦 ^_^");

说明:在实际运用中往往通过解析json来判断是否数据为空。

效果:

空数据

4、重绘时间轴

redrawCanvas();

调用该方法后,重绘时间轴,清除时间轴里的所有日程格子。



项目源码:https://github.com/Yiiip/daily-timeline.js

(注:转载请遵循CC-BY-NC-ND协议。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

daily-timeline.js——打造每日时间轴 的相关文章

随机推荐

  • ARouter在kotlin中使用,传递Int Long Double类型的参数空指针异常

    ARouter在kotlin中使用 传递Int Long Double类型的参数由A activity传递到 B activity 在B Activity接收时出现空指针异常 java lang NullPointerException A
  • clickhouse insert的数据结构

    clickhouse insert大致分为两部分 1 sql语句部分 insert into table f1 f2 2 数据部分 数据部分又分为3部分 头 数据 尾 数据头 数据块1 数据块2 数据块N 数据尾 从中可以看出 每个inse
  • Mybatis对数据的增删改查

    文章目录 创建sql的映射文件 增加 插入数据 修改 删除 查找 向数据库参数传递 简单参数 多个参数 传入对象 使用map传递 Mybatis的基本增删改查总的代码演示 创建sql的映射文件
  • 在 esp32 上运行 lvgl + freetype

    前言 最近有个需求 如何在 esp32 上运行 lvgl freetype 这个想法的难点是 freetype 的环境搭建 我想将其做得非常简单 最好的办法是做成组件来使用 所以我将 freetype 的相关依赖做成了 esp idf 组件
  • JS基础 预编译 与 AO对象

    预编译发生在函数执行的前一刻 预编译在函数执行的前一刻完成 function pre a console log a var a 100 console log a console log b var b function console
  • 将代码上传到指定仓库的步骤(git指令)

    1 git status 查看状态 2 git branch 查看目前所在的分支 3 git add 将内容从工作目录添加到暂存区 有的时候git add 不起作用 这时可以用 git add A 4 git commit m v1 更新代
  • 如何在CSDN博客添加友情链接

    如何在CSDN博客添加友情链接 每次看到别人的CSDN博客左侧都能够加上友情链接 我发现没有直接制定的 所以经过研究 我发现可以这样来添加友情链接 首先 进入博客设置 找到博客栏目 在里面新建一个栏目 名字随便 我这叫BLOG推荐 然后把下
  • 分布式锁工具 Redisson,贼香!!

    一 Redisson概述 二 分布式锁 三 Redisson分布式锁 四 RLock 五 公平锁 六 总结 一 Redisson概述 什么是Redisson Redisson是一个在Redis的基础上实现的Java驻内存数据网格 In Me
  • 攻防世界 web篇(一)

    攻防世界 web篇 一 inget fileclude easyupload fileinclude very easy sql 攻防世界 是一群信息安全大咖共同研究的答题 竞赛 以游戏方式结合的一款新型学习平台 融入多种场景在线题型 集实
  • 渗透测试——报错注入

    1 报错注入原理 由于后台没有对数据库的信息做过滤 会输出到前台显示 那么我们就可以通过制造报错函数 将查询语句带入到数据库中 以报错信息显示出来 2 报错注入漏洞产生的条件 1 参数用户可控 前端传入的参数内容由用户控制 2 参数带入数据
  • ArcGISMapsSDK for UnrealEngine_Beta2_00

    ArcGISMapsSDK for UnrealEngine Beta2 00 Prepare 1 Esri Community 2 All Communities 3 ArcGIS Maps SDK for Unreal Engine 4
  • Swing可视化设计:在IntelliJ IDEA中安装JFormDesigner教程

    Swing可视化设计 在IntelliJ IDEA中安装JFormDesigner教程 前言 最近课设大多需要gui设计 排除自学的情况 大部分同学都只接触过swing设计gui swing可视化插件将大大提高工作效率 这里提高破解版使用方
  • 数据结构与算法【Java】02---链表

    前言 数据 data 结构 structure 是一门 研究组织数据方式的学科 有了编程语言也就有了数据结构 学好数据结构才可以编写出更加漂亮 更加有效率的代码 要学习好数据结构就要多多考虑如何将生活中遇到的问题 用程序去实现解决 程序 数
  • 微信小程序申请 wx.getLocation 接口 审核一直不通过

    项目需要通过微信的 getLocation 获取本地的位置信息 经纬度 但是提交很多次审核都不通过 最后通过写了个项目里用不到的 导航功能 截图录屏才通过了审核 以下申请文案及配图仅供参考 因当前业务涉及就近医院挂号取号业务 需获取用户地理
  • python 使用pip install 手动安装本地包的方法

    Installing pystan manually fixed the issue otherwise it would just hang forever GitHub git clone https github com facebo
  • 【js中的单元测试】【30秒快速入门】

    什么是单元测试 测试是一种验证我们代码是否可以按预期工作的方法 换种说法就是写些代码来验证一段代码的正确性 被测试的对象可以是样式 功能 流程 组件等 单元测试是对软件中最小可测试单元进行检测和验证 单元测试能有效的提升工作效率 1 能监测
  • 常见swap()函数实现和细节讲解

    前言说明 swap 函数的作用是进行交换传入的两个值 本文都以整形int举例说明 且用C语言描述 常见的swap的实现方式有三种 格外一个空间的临时存放发 无格外空间的位运算异或法 无额外空间的加减法 主程序框架 include
  • 使用HAL库开发STM32:UART进阶使用

    文章目录 目的 发送处理 存在的问题 解决方法 个人常用处理方式 数据接收与解析 数据接收 数据解析 对于HAL库的吐槽 总结 目的 在前面文章 使用HAL库开发STM32 UART基础使用 中介绍的UART的基础使用 基础使用非常简单 不
  • U盘插入电脑后,有提示音,但不能显示出来,如何解决?

    导致此类问题的原因可能是用户的失误操作或者病毒的恶意修改等 1打开我的电脑 U盘没有显示出来 2打开控制面板单击选择设备和打印机 3在设备那一栏里会发现如图中已点击的图标 如果你的U盘没有改名字的话默认就是这个名字 有些品牌点击的U盘显示的
  • daily-timeline.js——打造每日时间轴

    最近因为需要在做会议室预约系统 其中需要用到一个显示当天预约情况的时间轴 去网上找了一下 发现只有和微博类似的历史时间轴 于是便自己动手做了一个当日时间轴控件 daily timeline js 实际使用效果如下 原理是Canvas的绘制