非常不錯的一款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.pswp.cn/news/532755.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/532755.shtml
英文地址,請注明出處:http://en.pswp.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#/ 背景 回顧 應用眼中的文件…