当前位置: 首页 > 编程日记 > 正文

基于Vue的小日历(支持按周切换)

基于Vue的日历小功能,可根据实际开发情况按每年、每月、每周、进行切换

<template><div class="date"><!-- 年份 月份 --><div class="month"><p>{{ currentYear }}年{{ currentMonth }}月</p></div><!-- 星期 --><ul class="weekdays"><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><!-- 日期 --><ul class="days"><li @click="pick(day)" v-for="(day, index) in days" :key="index"><!--本月--><span v-if="day.getMonth()+1 != currentMonth" class="other-month">{{ day.getDate() }}</span><span v-else><!--今天--><span v-if="day.getFullYear() == new Date().getFullYear() && day.getMonth() == new Date().getMonth() && day.getDate() == new Date().getDate()" class="active">{{ day.getDate() }}</span><span v-else>{{ day.getDate() }}</span></span></li></ul></div>
</template>

js部分:目前默认显示一周,可根据实际情况更改

<script>export default {name: 'date',data () {return {currentYear: 1970,   // 年份currentMonth: 1,  // 月份currentDay: 1,    // 日期currentWeek: 1,    // 星期
        days: [],}},mounted () {},created () {this.initData(null)},methods: {formatDate (year, month, day) {const y = yearlet m = monthif (m < 10) m = `0${m}`let d = dayif (d < 10) d = `0${d}`return `${y}-${m}-${d}`},initData (cur) {let date = ''if (cur) {date = new Date(cur)} else {date = new Date()}this.currentDay = date.getDate()          // 今日日期 几号this.currentYear = date.getFullYear()       // 当前年份this.currentMonth = date.getMonth() + 1    // 当前月份this.currentWeek = date.getDay() // 1...6,0   // 星期几if (this.currentWeek === 0) {this.currentWeek = 7}const str = this.formatDate(this.currentYear, this.currentMonth, this.currentDay)// 今日日期 年-月-日this.days.length = 0// 今天是周日,放在第一行第7个位置,前面6个 这里默认显示一周,如果需要显示一个月,则第二个循环为 i<= 35- this.currentWeek/* eslint-disabled */for (let i = this.currentWeek - 1; i >= 0; i -= 1) {const d = new Date(str)d.setDate(d.getDate() - i)// console.log(y:" + d.getDate())this.days.push(d)}for (let i = 1; i <= 7 - this.currentWeek; i += 1) {const d = new Date(str)d.setDate(d.getDate() + i)this.days.push(d)}},//  上个星期
      weekPre () {const d = this.days[0]    // 如果当期日期是7号或者小于7号d.setDate(d.getDate() - 7)this.initData(d)},//  下个星期
      weekNext () {const d = this.days[6]    // 如果当期日期是7号或者小于7号d.setDate(d.getDate() + 7)this.initData(d)},// 上一個月   传入当前年份和月份
      pickPre (year, month) {const d = new Date(this.formatDate(year, month, 1))d.setDate(0)this.initData(this.formatDate(d.getFullYear(), d.getMonth() + 1, 1))},// 下一個月   传入当前年份和月份
      pickNext (year, month) {const d = new Date(this.formatDate(year, month, 1))d.setDate(35)this.initData(this.formatDate(d.getFullYear(), d.getMonth() + 1, 1))},// 当前选择日期
      pick (date) {alert(this.formatDate(date.getFullYear(), date.getMonth() + 1, date.getDate()))},},}
</script>

<style lang="scss">@import "~base";.date {height: px2rem(180);color: #333;.month {font-size: px2rem(24);text-align: center;margin-top: px2rem(20);}.weekdays {display: flex;font-size: px2rem(28);margin-top: px2rem(20);li {flex: 1;text-align: center;}}.days {display: flex;li {flex: 1;font-size: px2rem(30);text-align: center;margin-top: px2rem(10);line-height:  px2rem(60);.active {display: inline-block;width: px2rem(60);height: px2rem(60);color: #fff;border-radius: 50%;background-color: #fa6854;}.other-month {color: #e4393c;}}}}
</style>

相关参考链接;http://www.jb51.net/article/96402.htm

转载于:https://www.cnblogs.com/zhengweijie/p/7289764.html

相关文章:

股市币市:数据分析与交易所公告(20190225)

沪深300 1. 沪深300分位数数据 2. 沪深300股指图 3. 沪深300分位数图 4. 沪深300筹码分布图 数据来源&#xff1a; https://finance.sina.com.cn/stock/ BTC比特币 1. 比特币分位数数据 2. 比特币交易图 3. 比特币分位数图 4. 比特币筹码分布图 数据来源&#xff1a; htt…

哪些人适合参加UI设计培训

UI设计在最近几年受到了很多人的关注&#xff0c;想要学习UI设计技术的人越来越多&#xff0c;大部分选择报UI设计培训班进行学习&#xff0c;有些人想要通过自学来学&#xff0c;那么到底哪些人适合参加UI设计培训呢?来看看下面的详细介绍。 哪些人适合参加UI设计培训? 1. 零…

java常用的7大排序算法汇总

这段时间闲了下来&#xff0c;就抽了点时间总结了下java中常用的七大排序算法&#xff0c;希望以后可以回顾&#xff01; 1.插入排序算法 插入排序的基本思想是在遍历数组的过程中&#xff0c;假设在序号 i 之前的元素即 [0..i-1] 都已经排好序&#xff0c;本趟需要找到 i 对应…

深度优先搜索算法在RPG游戏迷宫中的应用

在RPG游戏中我们经常会看到一些迷宫&#xff0c;我之前玩仙剑一的时候就经常在几个迷宫里绕来绕去也绕不出来&#xff0c;玩仙三由于游戏视角可以转&#xff0c;更是费劲。这里我们使用深度优先算法达到遍历一个迷宫的目的。 首先定义一个有序元组A:{左&#xff0c;上&#xff…

又有六所大学考研预调剂系统已开放!

距离 19 考研初试成绩的公布已经有一周了&#xff0c;成绩不错的同学就安心准备复试吧&#xff0c;全力备考&#xff0c;一定要拿到属于你的录取通知书&#xff01;成绩不满意&#xff0c;擦线或者排名靠后的同学&#xff0c;复试、调剂两手准备&#xff0c;注定咱们要花更多的…

零基础参加java培训如何学习

零基础的同学想要学好java技术&#xff0c;一定要比有基础的学员更加努力才可以&#xff0c;因为java技术要学习的东西有很多&#xff0c;在Java培训学习的过程中也是要掌握一定的技巧和方法的&#xff0c;下面就为大家详细的介绍一下零基础参加java培训如何学习? 零基础参加j…

webGL的一些咨询--web3D

来自:http://www.bumao.com/index.php/2010/06/webgl-overview.html什么是webGLWebGL是一种3D绘图标准&#xff0c;这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起&#xff0c;通过增加OpenGL ES 2.0的一个JavaScript绑定&#xff0c;WebGL可以为HTML5 Canvas提供…

如何利用 C# 爬取「京东 - 计算机与互联网图书销量榜」!

当前&#xff0c;信息技术领域的知识在飞速的更新。作为一个程序爱好者&#xff0c;或者说已经超过 10年 的老码农&#xff0c;稍有懈怠就会被落下&#xff01;跟踪当前信息技术领域的畅销书&#xff0c;结合自己所做的事情买来阅读&#xff0c;以便提升技能&#xff0c;就显得…

突发!微信官方证实:“绞杀”了刷量平台

今天&#xff0c;有关微信刷量平台崩溃的新闻刷爆朋友圈。在朝阳群众的“深扒”之下&#xff0c;不少微信大号的惨淡阅读量展露出了“娇羞的真容”。 不过&#xff0c;对此事&#xff0c;微信官方一直保持了“可怕的沉默”&#xff0c;今天下午&#xff0c;微信终于做出了官方回…

Java培训一共分几个阶段

Java培训一共分几个阶段?一般培训机构的课程都是从基础知识讲起&#xff0c;千锋教育的Java培训课程也不例外&#xff0c;第一阶段为JavaEE基础&#xff0c;主要讲授Java基础语法、面向对象、核心类库、集合等等基础知识点&#xff0c;把基础打牢学习接下来的知识的时候才会更…

IE6,7,8,FF兼容总结

做到浏览器兼容需要注意的四大要素(一)2009-05-31 17:091 Css1.1 选择器 通配符 * :: IE6不支持类选择器 .class :: IE6元素的class不能超过2个属性选择器 [attvalue] [att] [att|value] [att(^|$|~)value] :: IE6不支持关系选择器 E F; E > F ; E ~ F :: IE6不支持 1.2 伪…

二叉树的路径(根节点到叶节点)Binary Tree Paths

为什么80%的码农都做不了架构师&#xff1f;>>> 问题&#xff1a; Given a binary tree, return all root-to-leaf paths. For example, given the following binary tree: 1/ \ 2 3\5 All root-to-leaf paths are: ["1->2->5", "1->…

股市币市:数据分析与交易所公告(20190226)

沪深300 1. 沪深300分位数数据 2. 沪深300股指图 3. 沪深300分位数图 4. 沪深300筹码分布图 数据来源&#xff1a; https://finance.sina.com.cn/stock/ BTC比特币 1. 比特币分位数数据 2. 比特币交易图 3. 比特币分位数图 4. 比特币筹码分布图 数据来源&#xff1a; https…

零基础怎么学UI设计

互联网的快速发展&#xff0c;给很多企业和求职人员有了更多的创业和工作机会&#xff0c;近几年&#xff0c;UI设计行业招聘需求人数就在不断上涨&#xff0c;越来越多的人想转行做UI设计。那么零基础怎么学UI设计?有哪些简单有效的学习方法?我们来看看下面的详细介绍。 零基…

原创:嵌入图片的HTML内容在FLASH AS3中正确显示的最佳解决方案

做一个项目&#xff0c;遇到这个该死的问题&#xff0c;尝试了几乎所有解决方法&#xff0c;几近崩溃&#xff0c;终于找到完美解决方案。因为在网上&#xff0c;无论中文还是英文&#xff0c;搜索了无数遍&#xff0c;都没人给出正确答案&#xff0c;所以&#xff0c;在此记下…

总结六条对我们学习Linux系统有用的忠告

接触linux需要的是端正自己的态度&#xff0c;这个玩意可不是一天两天就能拿得下的。学习个基础&#xff0c;能装系统、能装常见服务、能编译、能配置存储空间、能配置系统参数、能简单查看系统负载等基本够用。但这些只保证能做机房运维&#xff0c;真正和进阶的运维工作不在机…

一份来自上海院校的考研预调剂系统已开放名单!

距离 19 考研初试成绩的公布已经有一段时间了&#xff0c;成绩不错的同学就安心准备复试吧&#xff0c;全力备考&#xff0c;一定要拿到属于你的录取通知书&#xff01;成绩不满意&#xff0c;擦线或者排名靠后的同学&#xff0c;复试、调剂两手准备&#xff0c;注定咱们要花更…

【Python培训基础知识】Python生成器函数

对于程序而言&#xff0c;内存也是很重要的&#xff0c;因为程序中很多数据都是保存在内存中的&#xff0c;如果内存中存储的数据过多&#xff0c;那么系统就会崩溃&#xff0c;这是人们不希望发生的。 可以采用生成器推导式来解决内存不足的问题。例如&#xff0c;利用生成器推…

普华永道重磅报告:决定未来的八大核心科技

在新兴科技高速发展的今天&#xff0c;各个技术风口你方唱罢我登场&#xff0c;把我们裹挟其中&#xff0c;无论是创业者&#xff0c;还是大公司的决策人&#xff0c;都需要时刻判断趋势。 也许每个人心里都在想类似的问题&#xff1a;“这些人工智能技术会如何影响我们的物联网…

[转帖][实用]Linux 释放内存方法

先看看内存使用状况[rootnode1 ~]# free -mtotal used free shared buffers cachedMem: 8004 6557 1446 0 163 5630-/ buffers/cache: 763 7240Swap: 1983 0 1983把内存里的数据暂时写到硬盘里[rootnode1 ~]# sync修改 /proc/sys/vm/drop_caches文件[rootnode1 ~]# echo 3 >…

股市币市:数据分析与交易所公告(20190227)

沪深300 1. 沪深300分位数数据 2. 沪深300股指图 3. 沪深300分位数图 4. 沪深300筹码分布图 数据来源&#xff1a; https://finance.sina.com.cn/stock/ BTC比特币 1. 比特币分位数数据 2. 比特币交易图 3. 比特币分位数图 4. 比特币筹码分布图 数据来源&#xff1a; https…

【Web前端培训】预解析(变量提升)

今天千锋小编为大家介绍一下一下JavaScript中的预解析(变量提升)。从什么是预解析及变量的预解析和函数的预解析及加载流程进行学习(注意&#xff1a;我们这里说的ES5中的预解析)。 什么是解析 首先代码执行肯定需要一个执行环境&#xff0c;浏览器会提供一个供javaScript执行的…

如何利用 C# 爬取「猫眼电影:热映口碑榜」及对应影片信息!

我们生活在一个快节奏的时代里&#xff0c;每天除了辛苦的提升自己&#xff0c;为生活打拼之外&#xff0c;偶尔的放松去看场电影也是必要的。可是能够抽出的时间有限&#xff0c;选择看哪部电影就是一个挠头的问题了。 幸好&#xff0c;有类似猫眼电影、豆瓣电影、淘票票这样…

【Java学习笔记之五】java数组详解

数组 概念 同一种类型数据的集合。其实数组就是一个容器。 数组的好处 可以自动给数组中的元素从0开始编号&#xff0c;方便操作这些元素。 格式1&#xff1a; 元素类型[] 数组名 new 元素类型[元素个数或数组长度]; 示例&#xff1a;int[] arr new int[5]; 格式2&…

参加Java培训需要注意什么

java编程语言对于零基础的同学来说&#xff0c;想要自学是非常困难的&#xff0c;因为java学习包含很多阶段&#xff0c;所以零基础的小白和初学者报java培训班学习是非常有必要的&#xff0c;下面小编就给大家详细的介绍一下参加Java培训需要注意什么? 参加Java培训需要注意什…

写得不错的几篇C/C++博客

转&#xff1a;http://blog.csdn.net/rubyzhudragon/category/562309.aspx 转载于:https://www.cnblogs.com/xinzhuangzi/archive/2010/08/22/4100543.html

股市币市:数据分析与交易所最新公告(20190228)

沪深300 1. 沪深300分位数数据 2. 沪深300股指图 3. 沪深300分位数图 4. 沪深300筹码分布图 数据来源&#xff1a; https://finance.sina.com.cn/stock/ BTC比特币 1. 比特币分位数数据 2. 比特币交易图 3. 比特币分位数图 4. 比特币筹码分布图 数据来源&#xff1a; https…

优化webpack配置

happypack happypack可以加快rebuild的速度 在开发的时候&#xff0c;需要将babel-loader替换成happypack/loader{test: /\.(js|jsx)$/,exclude: /(node_modules|vendor)/,loader: isDev ? happypack/loader : babel-loader } 同时添加插件, 根据需要定义不同的babel配置&…

Java多线程学习处理高并发问题

在程序的应用程序中&#xff0c;用户或请求的数量达到一定数量&#xff0c;并且无法避免并发请求.由于对接口的每次调用都必须在返回时终止&#xff0c;因此&#xff0c;如果接口的业务相对复杂&#xff0c;则可能会有多个用户.调用接口时&#xff0c;该用户将冻结. 以下内容将…

防止表单多次提交

防止表单多次提交 //jQuery①<script type"text/javascript"> $("input:submit").each(function() { var srcclick $(this).attr("onclick"); if(typeof(srcclick)"function"){ $(this).click(function() { if (srcclick()) { …