国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

利用JS制作萬年歷的方法

2019-11-19 15:46:20
字體:
來源:轉載
供稿:網友

我們知道,萬年歷在人們的生活中是在平常不過的一種東西了,那么怎樣用JS來實現在網頁中展示一個與眾不同萬年歷呢

1.HTML布局:

<div id="calendar">  <div id="month_year">    <select id="year"></select>年    <select id="month"></select>月  </div>  <ul id="title">    <li>星期日</li>    <li>星期一</li>    <li>星期二</li>    <li>星期三</li>    <li>星期四</li>    <li>星期五</li>    <li>星期六</li>  </ul>  <ul id="datesUl"></ul></div>

1.首先在布局上,可以先用一個id為calender(日歷)的div將你的萬年歷包住,以便我們對萬年歷的位置進行設置;

2.在這個大的div中有三部分: 1. month_year 用以設置年月; 2.title 用以顯示星期; 3.detesUl 用以顯示具體的日期;

CSS樣式:

*{      padding: 0;      margin: 0;      list-style: none;    }    #calendar{      width: 700px;      background-color: lightgray;      margin: 20px auto;    }    #calendar::after{      content: "";      display: block;      clear: both;    }    #month_year{      width: 700px;      height: 50px;      line-height: 50px;      text-align: center;    }    ul > li{      float: left;      width: 100px;      height: 50px;      text-align: center;      line-height: 50px;    }    #datesUl > li:empty{      opacity: 0;    }    #datesUl > li:hover{      background-color: lightblue;    }

JS代碼分析:

  1. 做一些初始化的處理,給倆個顯示年月的選項卡中添加內容便于用戶查找
  2. 構造一些我們要用到的函數: 如輸入年月計算出這個月有幾天,創建添加option及li的函數
<script>  var yearSelect = document.getElementById('year');  var monthSelect = document.getElementById('month');  var datesUl = document.getElementById('datesUl');  //初始化  function init(){    for(var year=1990;year<3000;year++){    //初始化倆個選項卡      createOption(year,year,yearSelect);    }    for(var month=1;month<13;month++){      createOption(month,month,monthSelect);    }    var now = new Date();            //獲取當前的日期    showSelect(now.getFullYear(),now.getMonth()+1);  //引用顯示選項卡的函數    showDates();                  //調用顯示日期的函數    yearSelect.onchange=function(){         //當選項卡改變時      showDates();    };    monthSelect.onchange=function(){      showDates();    }  }  init();            //調用初始化函數     //創建option的函數  function createOption(text,value,parent){    var option = document.createElement('option');    option.innerHTML = text;    option.value = value;    parent.appendChild(option);  }  //獲取當前的日期并顯示在選項卡中  function showSelect(year,month){    yearSelect.value = year;    monthSelect.value = month;  }  //獲取選擇的年月的第一天是星期幾  function getDays(year,month){    var d = new Date(year,month,1);    return d.getDay();  }  //根當前的select中的年和月來顯示日期  function showDates(){    datesUl.innerHTML= "";    var year = yearSelect.value;    var month = monthSelect.value;    //創建空的li    for(var i=0;i<getDays(year,month);i++){      createLi("",datesUl);    }    //創建有日期的li    for(var j=1;j<=getDatesOfMonth(year,month);j++){      createLi(j,datesUl);    }  }  //創建li并添加至對應的容器  function createLi(text,parent){    var li = document.createElement('li');    li.innerHTML = text;    parent.appendChild(li);  }  //創建一個輸入年月計算出這個月有幾天的函數  function getDatesOfMonth(year,month){    var d = new Date(year,month,0);    return d.getDate();  }</script>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 玉门市| 台东市| 昆明市| 兰西县| 平安县| 灌云县| 三穗县| 潜江市| 扬州市| 新竹市| 邻水| 汉源县| 虹口区| 顺昌县| 大余县| 龙海市| 浦东新区| 古浪县| 桃源县| 长汀县| 广河县| 永泰县| 泾川县| 石景山区| 隆安县| 灯塔市| 乐至县| 始兴县| 南木林县| 白城市| 南陵县| 武夷山市| 武强县| 武乡县| 兰州市| 宜章县| 辰溪县| 辰溪县| 灵宝市| 安塞县| 温宿县|