最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue.js實現(xiàn)日歷插件使用方法詳解

 更新時間:2021年09月03日 13:01:40   作者:laihaodong  
這篇文章主要為大家詳細介紹了vue.js模擬日歷插件的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

今天要實現(xiàn)的功能就是以下這個功能:vue.js模擬日歷插件

好了廢話不多說了 直接上代碼了

css:

*{
     margin: 0;
     padding: 0;
     -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
     box-sizing: border-box;
        }
        #app{
            width: 1000px;
            margin: 10px auto;
        }
        .calender{
            width: 1000px;
        }
        .calender table{
            width: 1000px;
        }
        .calender table,th,tr,td{
            border:1px solid #333333;
            border-collapse: collapse;
        }
        .calender td{
            height: 100px;
            vertical-align: top;
            text-align: left;
            padding: 5px 0 0 5px;
            font-size: 13px;
        }
        .calender td.cur{
            color:red;
        }

html:

<div id="app">
    <div class="calender">
        <table>
            <caption>
                <select v-model.number="year">
                    <option v-for="i of 490">{{i+1969}}</option>
                </select>
                <select v-model.number="month">
                    <option v-for="i of 12">{{i}}</option>
                </select>
            </caption>
            <thead>
            <tr>
                <th>周日</th>
                <th>周一</th>
                <th>周二</th>
                <th>周三</th>
                <th>周四</th>
                <th>周五</th>
                <th>周六</th>
            </tr>
            </thead>
            <tbody>
            <!--index 從0開始 i從1開始-->
            <tr v-for="(a,index) of calender.length / 7" >
                <td v-for="i of 7" :class="{cur:calender[index * 7 + (i - 1)].cur }">{{calender[index * 7 + (i - 1)].fullDay}}</td>
            </tr>
            </tbody>
        </table>
    </div>
</div>

js:

var vm = new Vue({
        el:'#app',
        data:{
            year:2018,
            month:1
        },
        computed:{
            calender(){
                var arr = [];

                //new data 有三個參數(shù): 1,年 2.月 3.默認是1 如果是0,表示上個月最后一天 - 前兩天 3 后天
                var nowMonthLength = new Date(this.year,this.month,0).getDate();
                var nowMonthFirstWeek = new Date(this.year,this.month-1).getDay();
                var lastMonthLength = new Date(this.year,this.month-1,0).getDate();
                console.log('本月有:'+nowMonthLength);
                console.log('本月第一天'+nowMonthFirstWeek);
                console.log('上個月長度'+lastMonthLength);

                // this.month = parseInt(this.month);
                //每個月的上一個月是哪一年的那一個月
                var pmonth = this.month == 1 ? 12 : this.month - 1;
                //上一年
                var pyear = this.month == 1 ? this.year - 1 :this.year;
                //下一月
                var nmonth = this.month == 12 ? 1 : this.month + 1;
                //下一月
                var nyear = this.month == 12 ? this.year + 1 : this.year;
                //補零函數(shù)
                // function toTwo(n) {
                //     return n < 10 ? '0' + n : n;
                // }
                function buling(n) {
                    return n.toString().length > 1 ? n.toString() : '0' + n.toString();
                }
                // 補充上個月的最后幾天
                while(nowMonthFirstWeek--){
                    arr.unshift({
                        day:lastMonthLength,
                        cur:true,
                        fullDay:`${pyear}-${buling(pmonth)}-${buling(lastMonthLength)}`
                    });
                    lastMonthLength--
                }
                console.log(arr);

                //本月天數(shù)
                var _a = 1;
                while(nowMonthLength--){
                    arr.push({
                        day:_a,
                        cur:false,
                        fullDay:`${this.year}-${buling(this.month)}-${buling(_a)}`
                    });
                    _a++
                }

                //下個月補全
                var nextLength = arr.length > 35 ? 42 - arr.length : 35 - arr.length;
                _a = 1;
                while (nextLength--){
                    arr.push({
                        day:_a,
                        cur:true,
                        fullDay:`${nyear}-${buling(nmonth)}-${buling(_a)}`
                    });
                    _a++
                }
                return arr;
            }
        }
    })

注意:需要先引入你本地的vue.js文件, 才能正常運行哦!!!

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Vue實現(xiàn)Echarts圖表寬高自適應的實踐

    Vue實現(xiàn)Echarts圖表寬高自適應的實踐

    本文主要介紹了Vue實現(xiàn)Echarts圖表寬高自適應的實踐,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Vue+Node實現(xiàn)大文件上傳和斷點續(xù)傳

    Vue+Node實現(xiàn)大文件上傳和斷點續(xù)傳

    文件上傳在很多項目中都用的到,如果是幾M的很快就傳送完畢,如果是大文件呢?本文將利用Vue+Node實現(xiàn)大文件上傳和斷點續(xù)傳,感興趣的可以了解一下
    2022-04-04
  • vue出現(xiàn)Uncaught SyntaxError:Unexpected token問題及解決

    vue出現(xiàn)Uncaught SyntaxError:Unexpected token問題及解決

    這篇文章主要介紹了vue出現(xiàn)Uncaught SyntaxError:Unexpected token問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • vue動態(tài)設置頁面title的方法實例

    vue動態(tài)設置頁面title的方法實例

    這篇文章主要給大家介紹了關于vue動態(tài)設置頁面title的相關資料,文中通過實例代碼結束的非常詳細,對大家學習或者使用Vue具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-08-08
  • vue如何截取字符串

    vue如何截取字符串

    這篇文章主要介紹了vue如何截取字符串,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • vue2.x?el-table二次封裝實現(xiàn)編輯修改

    vue2.x?el-table二次封裝實現(xiàn)編輯修改

    本文主要介紹了vue2.x?el-table二次封裝實現(xiàn)編輯修改,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue項目如何去掉URL中#符號的方法

    vue項目如何去掉URL中#符號的方法

    在開發(fā)過程中發(fā)現(xiàn)路徑中帶有/#/的標示,而且還去不掉,很丑陋,下面這篇文章主要給大家介紹了vue項目如何去掉URL中#符號的相關資料,文中通過實例代碼的非常詳細,需要的朋友可以參考下
    2022-07-07
  • 基于Vue的Drawer組件實現(xiàn)

    基于Vue的Drawer組件實現(xiàn)

    本文將從零實現(xiàn)一個Drawer抽屜組件,組件用 vue2 語法寫的,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • vue.js聲明式渲染和條件與循環(huán)基礎知識

    vue.js聲明式渲染和條件與循環(huán)基礎知識

    這篇文章主要為大家詳細介紹了vue.js聲明式渲染和條件與循環(huán)的基礎知識,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Vue項目配置router.js流程分析講解

    Vue項目配置router.js流程分析講解

    第一次寫Vue項目,要用到router.js,看了一下官方文檔,還是很懵逼,不知道怎么配置,又去看視頻查資料,最后終于搞定了。話不多說,先上代碼,我再講一些要注意的細節(jié)
    2022-12-12

最新評論

峨边| 互助| 南通市| 三江| 慈溪市| 兴山县| 巴东县| 苗栗市| 临城县| 屯门区| 保定市| 新龙县| 伊吾县| 天津市| 新源县| 孝昌县| 汶上县| 广丰县| 大兴区| 合山市| 安庆市| 叶城县| 建始县| 收藏| 贵阳市| 仙桃市| 襄汾县| 茂名市| 香河县| 东源县| 澎湖县| 边坝县| 上杭县| 达州市| 玉山县| 安顺市| 于都县| 马龙县| 江城| 黄平县| 新和县|