非常不错的一款html5【404页面】,不含js脚本可以左右摆动,原生JavaScript实现日历功能代码实例(无引用Jq)...

这篇文章主要介绍了原生JavaScript实现日历功能代码实例(无引用Jq),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

成品显示,可左右切换月份

fe0bf001bcd1aeebaed71c5c30c64aa7.png

html 代码

移动端日历

css代码

*{

margin: 0;

padding: 0;

}

/*清除浮动代码*/

.clearfloat:after{display:block;clear:both;content:"";visibility:hidden;height:0}

.clearfloat{zoom:1}

#calendarElement{

margin: 100px auto;

width: 80%;

box-shadow: 0 0 10px #999999;

}

#calendarElement>.header{

height: 80px;

background-color: coral;

display: flex;

border-bottom: 1px solid #fff;

}

#calendarElement>.header .prev{

width: 20%;

position: relative;

}

#calendarElement>.header .prev i{

width: 20px;

height: 20px;

display: block;

position: absolute;

left: 50%;

top: 50%;

margin-top: -10px;

margin-left: -10px;

transform: rotate(45deg);

border: 2px solid #fff;

border-right: none;

border-top: none;

}

#calendarElement>.header .next{

position: relative;

}

#calendarElement>.header .next i{

width: 20px;

height: 20px;

display: block;

position: absolute;

left: 50%;

top: 50%;

margin-top: -10px;

margin-left: -10px;

transform: rotate(45deg);

border: 2px solid #fff;

border-left: none;

border-bottom: none;

}

#calendarElement>.header .date{

width: 60%;

font-size: 22px;

line-height: 80px;

color: #fff;

text-align: center;

}

#calendarElement>.header .next{

width: 20%;

}

#calendarElement>.content >.week{

box-sizing: border-box;

width: 100%;

height: 40px;

color: #fff;

display: flex;

padding: 0 1%;

}

#calendarElement>.content >.week >div{

width: 14%;

text-align: center;

line-height: 40px;

}

#calendarElement>.content >.weekMany{

padding-top: 5px;

padding-bottom: 15px;

}

#calendarElement>.content >.weekMany>div{

float: left;

width: 14.28%;

height: 40px;

text-align: center;

line-height: 40px;

font-size: 14px;

}

#calendarElement>.content >.weekMany>.otherMonth{

color: #999999

}

JS代码

var currentTime=""; //当前时间年月日

var dom=document.querySelector("#calendarElement"); //承载元素

var color="";

getCurrentTime();

randomColor();

showDay();

function getCurrentTime(){ //获取当前时间

var time=new Date();

var year=time.getFullYear();

var month=time.getMonth()+1;

var day=time.getDate();

if(month<10){

month="0"+month

}

var data=year+ "-" +month;

currentTime=year+ "-" +month+"-"+day;

document.querySelector(".date").innerHTML=data;

};

dom.addEventListener("click",function(e){

if(e.target.className=="previ" || e.target.className=="prev"){

getMonths("prev")

}else if(e.target.className=="nexti" || e.target.className=="next"){

getMonths("next")

}

})

function showDay(){

var html="";

var MonthOne=currentTime;

var yearMonth=currentTime.split('-').slice(0,2);

yearMonth=yearMonth.join('-');

document.querySelector(".date").innerHTML=yearMonth;

MonthOne=MonthOne.split('');

MonthOne.splice(8,2,"01")

MonthOne=MonthOne.join('');

var monthLen=getMonthLength(MonthOne); //每月有多少天

var weekMany=new Date(MonthOne).getDay(); //每月一号是星期几

html+=getPrevMonthHtml(weekMany);

html+=getNowMonthHtml(monthLen);

html+=getNextMonthHtml(weekMany,monthLen);

document.querySelector(".weekMany").innerHTML=html;

}

function getPrevMonthHtml(weekMany){

var html="";

var lastMonth=currentTime.substring(0, 7); //得出年月

lastMonth=lastMonth.split('-')

if(lastMonth[1]-1==0){

lastMonth[1]=12;

lastMonth[0]=lastMonth[0]-1;

}else if(lastMonth[1]-1<10){

lastMonth[1]="0"+(lastMonth[1]-1);

}

lastMonth=lastMonth.join('-');

var monthLen=getMonthLength(lastMonth);

var start=monthLen-weekMany;

for(var i=start+1;i<=monthLen;i++){

html+='

'+i+'
';

}

return html;

}

function getNowMonthHtml(monthLen){

var html="";

var MonthOne=currentTime.substring(0, 7); //得出年月

var today=currentTime.split('-')[2];

for(var i=1;i<=monthLen;i++){

if(i<10){

var q="0"+i;

}else{

var q=i;

}

if(i==today){

html+='

'+i+'
';

}else{

html+='

'+i+'
';

}

}

return html;

}

function getNextMonthHtml(weekMany,monthLen){

var html="";

var daynum=weekMany+monthLen;

if(daynum%7==0){

return html;

}else{

var num=daynum%7;

var lessNum=7-num; //差几天

var lowerMonth=currentTime.substring(0, 7); //得出年月

lowerMonth=lowerMonth.split('-')

if(lowerMonth[1]+1==13){

lowerMonth[1]="0"+1;

lowerMonth[0]=+lowerMonth[0]+1;

}else{

lowerMonth[1]=+lowerMonth[1]+1;

if(lowerMonth[1]<10){

lowerMonth[1]="0"+lowerMonth[1];

}

}

lowerMonth=lowerMonth.join('-');

for(var i=1;i<=lessNum;i++){

if(i<10){

var q="0"+i

}

html+='

'+i+'
';

}

}

return html;

}

function getMonths(around){

if(around=="prev"){

currentTime=currentTime.split('-');

currentTime[1]=currentTime[1]-1;

if(currentTime[1]==0){

currentTime[1]="12"

currentTime[0]=+currentTime[0]-1

}

if(currentTime[1]<10){

currentTime[1]="0"+currentTime[1]

}

currentTime=currentTime.join('-');

showDay();

}else if(around=="next"){

currentTime=currentTime.split('-');

currentTime[1]=+currentTime[1]+1;

if(currentTime[1]==13){

currentTime[1]="1"

currentTime[0]=+currentTime[0]+1

}

if(currentTime[1]<10){

currentTime[1]="0"+currentTime[1]

}

currentTime=currentTime.join('-');

showDay();

}

}

function getMonthLength(date) { // 获取每月有多少天

let d = new Date(date)

// 将日期设置为下月一号

d.setMonth(d.getMonth()+1)

d.setDate('1')

// 获取本月最后一天

d.setDate(d.getDate()-1)

return d.getDate()

}

function randomColor(){ //随机颜色

color = '#'+Math.floor(Math.random()*16777215).toString(16);

if(color.length==6){

color+="0"

}

document.querySelector(".header").style.backgroundColor=color;

document.querySelector(".week").style.backgroundColor=color;

};

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

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

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

相关文章

12 [虚拟化] 进程抽象;fork,execve,exit

12 [虚拟化] 进程抽象&#xff1b;fork&#xff0c;execve&#xff0c;exit 南京大学操作系统课蒋炎岩老师网络课程笔记。 视频&#xff1a;https://www.bilibili.com/video/BV1N741177F5?p12 讲义&#xff1a;http://jyywiki.cn/OS/2021/slides/8.slides#/ 本讲概述 回到“…

计算机应用与基础实践怎么考,自考计算机基础应用科目笔试和实践性考试怎么考...

自考计算机基础应用科目笔试和实践性考试怎么考&#xff1f; 报考自考的考生有些专业的考生会在自己的课程科目中发现计算机基础应用不仅有理论知识考试还有实践性考试&#xff0c;那么自考计算机基础应用科目的笔试和实践性考试怎么考&#xff1f;自考计算机基础应用科目笔试怎…

14 [虚拟化] 虚存抽象;Linux进程的地址空间

14 [虚拟化] 虚存抽象&#xff1b;Linux进程的地址空间 南京大学操作系统课蒋炎岩老师网络课程笔记。 视频&#xff1a;https://www.bilibili.com/video/BV1N741177F5?p14 讲义&#xff1a;http://jyywiki.cn/OS/2021/slides/10.slides#/ 本讲概述 程序 状态机&#xff1b;…

浏览器是指在用户计算机上,自考《网页设计与制作》测试题及答案

自考《网页设计与制作》测试题及答案学习是一个不断积累的过程&#xff0c;为帮助考生们更好地复习《与制作》科目知识点&#xff0c;以下是搜索整理的一份自考《网页设计与制作》测试题及答案&#xff0c;供参考练习&#xff0c;希望对大家有所帮助!想了解更多相关信息请持续关…

Ubuntu 18.04 安装OpenCV C++

Ubuntu 18.04 安装OpenCV C 构建并安装 仅构建核心模块 # 更新并安装依赖 # 更新并安装依赖 sudo apt update && sudo apt install -y cmake g wget unzip# 下载并解压包 wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip unzip opencv.zip…

html计算x的y,HTML5画布:旋转时计算x,y点

我开发了一个HTML5 Canvas应用程序&#xff0c;它涉及到读取一个xml文件&#xff0c;该文件描述了需要在画布上绘制的箭头&#xff0c;直形和其他形状的位置。的XML布局的HTML5画布&#xff1a;旋转时计算x&#xff0c;y点实施例&#xff1a;如果对象被旋转它涉及计算一个点的位…

(2021) 20 [虚拟化] 进程调度

(2021) 20 [虚拟化] 进程调度 南京大学操作系统课蒋炎岩老师网络课程笔记。 视频&#xff1a;https://www.bilibili.com/video/BV1HN41197Ko?p20 讲义&#xff1a;http://jyywiki.cn/OS/2021/slides/11.slides#/ 背景 — 机制与策略分离 机制&#xff1a;一个通用的、可定制…

计算机组装过程英文版,计算机组装与维护试题及答案(国外英文资料).doc

计算机组装与维护试题及答案(国外英文资料)计算机组装与维护试题及答案(国外英文资料)(1) choiceIn the following equipment, the input device is (b)A. b. b. c. c. c. d. d.In Windows 98, the combination of CTRL Alt Del is (c)A. cold start b. heat start c. interr…

make命令及makefile

make命令及makefile 转自&#xff1a;https://www.ruanyifeng.com/blog/2015/02/make.html Make 命令教程 作者&#xff1a; 阮一峰 日期&#xff1a; 2015年2月20日 代码变成可执行文件&#xff0c;叫做编译&#xff08;compile&#xff09;&#xff1b;先编译这个&#…

局域网中计算机网络密码查看,Win10怎么查看电脑上已知的wifi网络密码

方法一&#xff1a;网络和共享中心查询1、在Windows 10桌面最左下角的【Windwos开始图标上右键】&#xff0c;在弹出的菜单中点击打开【网络连接】&#xff0c;如下图所示。2、在打开的网络连接设置中&#xff0c;双击已经连接的【无线网络名称】&#xff0c;在弹出的【WLAN状态…

(2021) 22 [持久化] 1-Bit的存储

(2021) 22 [持久化] 1-Bit的存储 南京大学操作系统课蒋炎岩老师网络课程笔记。 视频&#xff1a;https://www.bilibili.com/video/BV1HN41197Ko?p22 讲义&#xff1a;http://jyywiki.cn/OS/2021/slides/12.slides#/ 背景 回顾 操作系统是什么&#xff1f;一组对象 一组API…

计算机一级试题论述,计算机一级考试理论题及答案要点

计算机一级考试IT1必做题[1]. 著名的计算机科学家尼.沃思提出了________。A&#xff0e;数据结构&#xff0b;算法程序B&#xff0e;存储控制结构C&#xff0e;信息熵D&#xff0e;控制论[2]. 下面有关扫描仪的叙述中&#xff0c;错误的是________。A&#xff0e;分辨率是扫描仪…

(2021) 23 [持久化] I/O设备与驱动

(2021) 23 [持久化] I/O设备与驱动 南京大学操作系统课蒋炎岩老师网络课程笔记。 视频&#xff1a;https://www.bilibili.com/video/BV1HN41197Ko?p23 讲义&#xff1a;http://jyywiki.cn/OS/2021/slides/13.slides#/ 背景 很多人 (你们的同学们、家长们) 都有一个认识&…

计算机考研计划时间,2019计算机考研时间安排:复习时间规划

随着考研竞争越来越激烈&#xff0c;考研复习一定要做好规划&#xff0c;每天的时间要做好管理&#xff0c;分清轻重缓急&#xff0c;这样才能高效率复习。管理的5个原则&#xff0c;大家抓紧调整个人复习。小编还为大家精心准备了计算机考研复习资料还有计算机考研报考指导助力…

(2021) 24 [持久化] 文件系统API

(2021) 24 [持久化] 文件系统API 南京大学操作系统课蒋炎岩老师网络课程笔记。 视频&#xff1a;https://www.bilibili.com/video/BV1HN41197Ko?p24 讲义&#xff1a;http://jyywiki.cn/OS/2021/slides/14.slides#/ 背景 回顾 硬件视角&#xff1a;持久化的“层层抽象” 物…

计算机辅助应用的缩写有什么,计算机辅助设计的英文缩写是什么

2008-10-09是什么的英文缩写?BOBO......头型里的.....其实"BOBO头"准确的名称应该是BOB头。它是娃娃头的一种。BOB头有许多变种&#xff0c;标准的类似于樱桃小丸子的发型&#xff0c;专业发型师把它称为BOB。最初是由巴黎发型师Antoine 在1909年发明&#xff0c;但…

Linux中的硬链接和软链接

Linux中的硬链接和软链接 节选自南大蒋炎岩老师操作系统网络课程笔记&#xff1a;(2021) 24 [持久化] 文件系统API 硬&#xff08;hard&#xff09;链接 UNIX文件指针 在UNIX中&#xff0c;文件和目录完全不是同一个概念&#xff0c;虽然我们平时看着它们仿佛并列地躺在某个…

计算机win10开机音乐,大师传授win10系统电脑开机总是自动播放音乐的方案

今天小编分享一下win10系统电脑开机总是自动播放音乐问题的处理方法&#xff0c;在操作win10电脑的过程中常常不知道怎么去解决win10系统电脑开机总是自动播放音乐的问题&#xff0c;有什么好的方法去处理win10系统电脑开机总是自动播放音乐呢&#xff1f;今天本站小编教您怎么…

Linux中的tty、pts、pty等概念辨析

Linux中的tty、pts、pty等概念辨析 基本概念 tty、pty、pts、ptmx tty&#xff08;终端设备的统称&#xff09;&#xff1a;tty一词源于Teletypes&#xff0c;或teletypewriters&#xff0c;原来指的是电传打字机&#xff0c;是通过串行线用打印机键盘通过阅读和发送信息的东…

(2021) 25 [持久化] 文件系统实现:FAT和UNIX文件系统

(2021) 25 [持久化] 文件系统实现&#xff1a;FAT和UNIX文件系统 南京大学操作系统课蒋炎岩老师网络课程笔记。 视频&#xff1a;https://www.bilibili.com/video/BV1HN41197Ko?p25 讲义&#xff1a;http://jyywiki.cn/OS/2021/slides/15.slides#/ 背景 回顾 应用眼中的文件…