利用原生JavaScript實(shí)現(xiàn)造日歷輪子實(shí)例代碼-創(chuàng)新互聯(lián)

前言

創(chuàng)新互聯(lián)長(zhǎng)期為上1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為澄江企業(yè)提供專業(yè)的網(wǎng)站制作、成都網(wǎng)站制作,澄江網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

在日常開發(fā)中,大多數(shù)都是在和框架打交道,久而久之便遺忘了原生JS的感覺,個(gè)人感覺中原生JS基礎(chǔ)還是很重要的,所以最近就利用了空余時(shí)間造一個(gè)輪子出來,雖然以我的水平造出來的輪子質(zhì)量還是不太可靠的,但是我覺得用來練練手還是不錯(cuò)的,哈哈??!


So, Let's begin!

github:github.com/Zero-jian/p…

以下是日歷的樣子,是有點(diǎn)難看,講究講究,重點(diǎn)在于JS部分,嘻嘻?。。?/p>

關(guān)于日歷組件的實(shí)現(xiàn)思路

  • 設(shè)置默認(rèn)參數(shù)
  • 檢查節(jié)點(diǎn)參數(shù)是否傳入,否則拋出錯(cuò)誤
  • 動(dòng)態(tài)創(chuàng)建顯示本日星期幾的橫軸
  • 動(dòng)態(tài)創(chuàng)建日歷的日子
  • 最后添加一點(diǎn)dom動(dòng)作就好

先來看看構(gòu)造函數(shù)內(nèi)容


constructor(options) {
    let defaluteOptions = {
      element: null, //這是節(jié)點(diǎn)
      startOfWeek: 1,
      strings: {
        week: n => {
          let map = {
            0: '周日',
            1: '周一',
            2: '周二',
            3: '周三',
            4: '周四',
            5: '周五',
            6: '周六',
          }
          return map[n];
        },
        templateDay: `<li class="currentMonth">
          <span class="dayLabel">
            <span class="day"></span>
            <span class="unit">日</span>
          </span>
        </li>`
      },
      days: {},
    }
    //賦值默認(rèn)參數(shù)
    this.options = Object.assign({}, defaluteOptions, options);
    //輪番就調(diào)用函數(shù)動(dòng)態(tài)創(chuàng)建dom
    this.checkOptions()._generateTime()._generateWeekDay()._generateCurrentDay();

名稱欄目:利用原生JavaScript實(shí)現(xiàn)造日歷輪子實(shí)例代碼-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://muchs.cn/article16/dcoidg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、網(wǎng)站策劃、App開發(fā)響應(yīng)式網(wǎng)站、網(wǎng)站設(shè)計(jì)、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司