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

JavaScript自定義日歷效果

 更新時間:2021年11月08日 08:35:42   作者:雪旭  
這篇文章主要為大家詳細(xì)介紹了JavaScript自定義日歷效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了JavaScript自定義日歷效果的具體代碼,供大家參考,具體內(nèi)容如下

實現(xiàn)思路:獲取每個月的第一天是星期幾,然后把前面的天數(shù)填充為空,在獲取每個月有多少天,循環(huán)填充,判斷并給給當(dāng)前時間添加單獨(dú)樣式,點(diǎn)擊上一月,和下一月時改變月份。

獲取當(dāng)前月第一天:返回值是 0(周日) 到 6(周六) 之間的一個整數(shù)

var date = new Date();
var y=date.getFullYear();
var m=date.getMonth();
new Date(y,m,1).getDay();

獲取當(dāng)前月有多少天

var date = new Date();
var y=date.getFullYear();
var m=date.getMonth();
new Date(y,m+1,-1).getDate()+1;

最后點(diǎn)擊上一月,下一月月份加一或減一,在執(zhí)行封裝的日歷函數(shù)。

全部代碼:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        body {
            background: #2c3e50;
        }

        .calendar {
            width: 400px;
            margin: 50px auto;
        }

        .calendar-tip {
            font-size: 16px;
            text-align: center;
            color: #fff;
        }

        .prev {
            float: left;
            cursor: pointer;
        }

        .next {
            float: right;
            cursor: pointer;
        }

        .calendar-month {
            text-align: center;
            margin: 10px 0;
            color: #fff;
        }

        ul {
            list-style: none;
            display: flex;
        }

        li {
            width: 57px;
            text-align: center;
            height: 55px;
            line-height: 55px;
            font-size: 16px;
            color: #fff;
        }

        .calendar-day {
            display: flex;
        }

        .calendar-day span {
            flex: 1;
            color: #fff;
            text-align: center;
            height: 40px;
            line-height: 40px;

        }

        .calendar-data {
            display: flex;
            flex-wrap: wrap;
        }

        li {
            width: 57px;
            cursor: pointer;
        }

        li:hover {
            background: #2d3436;
        }

        .calendar-data .on {
            color: #d63031;
        }
    </style>
</head>

<body>
    <div class="calendar">
        <div class="calendar-tip">
            <span class="prev">上一月</span>
            <em id="year">2022年</em>
            <span class="next">下一月</span>
        </div>
        <div class="calendar-month">五月</div>
        <div class="calendar-day">
            <span>日</span>
            <span>一</span>
            <span>二</span>
            <span>三</span>
            <span>四</span>
            <span>五</span>
            <span>六</span>
        </div>
        <ul class="calendar-data">
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
        </ul>
    </div>
    <script>
        var date = new Date();
        var year = document.querySelector("#year");
        var month = document.querySelector(".calendar-month");
        var calendarData = document.querySelector(".calendar-data");
        var prev = document.querySelector(".prev");
        var next = document.querySelector(".next");
        var monthArr = ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"];
        var y,m,day,d,html,today;
        calendar();

        function calendar() {
            y = date.getFullYear();
            year.innerHTML = y + "年";

            m = date.getMonth();
            month.innerHTML = monthArr[m];
            day = new Date(y, m, 1).getDay(); //獲取每個月第一天是周幾
            d = new Date(y, m + 1, -1).getDate() + 1; //獲取多少天
            html = "";

            //把每個月第一天之前的時間填充為空
            for (var i = 0; i < day; i++) {
                html += "<li> </li>";
            }

            for (var j = 1; j <= d; j++) {
                if (y==new Date().getFullYear() && m==new Date().getMonth() && j== date.getDate()) {
                    html += "<li class='on'>" + j + "</li>";
                } else {
                    html += "<li>" + j + "</li>";
                }

            }
            calendarData.innerHTML = html;
        }

        prev.onclick = function () {
            date.setMonth(date.getMonth() - 1);
            calendar();
        }

        next.onclick = function () {
            date.setMonth(date.getMonth() + 1);
            calendar();
        }
    </script>
</body>

</html>

效果:

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

相關(guān)文章

  • JS Ajax請求會話過期處理問題解決方法分析

    JS Ajax請求會話過期處理問題解決方法分析

    這篇文章主要介紹了JS Ajax請求會話過期處理問題解決方法,結(jié)合實例形式簡單分析了ajax請求會話過期處理的相關(guān)原理、解決方法及操作注意事項,需要的朋友可以參考下
    2019-11-11
  • Javascript中toFixed計算錯誤(依賴銀行家舍入法的缺陷)解決方法

    Javascript中toFixed計算錯誤(依賴銀行家舍入法的缺陷)解決方法

    這篇文章主要介紹了Javascript中toFixed計算錯誤(依賴銀行家舍入法的缺陷)解決方法,非常具有實用價值,需要的朋友可以參考下
    2017-08-08
  • JS實現(xiàn)的DOM插入節(jié)點(diǎn)操作示例

    JS實現(xiàn)的DOM插入節(jié)點(diǎn)操作示例

    這篇文章主要介紹了JS實現(xiàn)的DOM插入節(jié)點(diǎn)操作,結(jié)合實例形式分析了javascript針對頁面dom元素動態(tài)操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2018-04-04
  • JS實現(xiàn)簡易的圖片拖拽排序?qū)嵗a

    JS實現(xiàn)簡易的圖片拖拽排序?qū)嵗a

    這篇文章主要介紹了JS實現(xiàn)簡易的圖片拖拽排序?qū)嵗a,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • JavaScript數(shù)組和對象的復(fù)制

    JavaScript數(shù)組和對象的復(fù)制

    本篇文章主要介紹了JavaScript數(shù)組和對象的復(fù)制的相關(guān)知識。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • JS實現(xiàn)div內(nèi)部的文字或圖片自動循環(huán)滾動代碼

    JS實現(xiàn)div內(nèi)部的文字或圖片自動循環(huán)滾動代碼

    在某些情況下需要這樣的功能:使用JS實現(xiàn)div內(nèi)部的文字或圖片自動循環(huán)滾動,接下來為大家詳細(xì)介紹下實現(xiàn)方法,感興趣的朋友可以參考下哈
    2013-04-04
  • js實現(xiàn)右鍵自定義菜單

    js實現(xiàn)右鍵自定義菜單

    這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)右鍵菜單功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • JS實現(xiàn)焦點(diǎn)圖輪播效果的方法詳解

    JS實現(xiàn)焦點(diǎn)圖輪播效果的方法詳解

    這篇文章主要介紹了JS實現(xiàn)焦點(diǎn)圖輪播效果的方法,結(jié)合實例形式詳細(xì)分析了JS焦點(diǎn)圖輪播效果的原理、實現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2016-12-12
  • JS中的防抖與節(jié)流及作用詳解

    JS中的防抖與節(jié)流及作用詳解

    這篇文章主要介紹了JS中的防抖與節(jié)流及作用詳解,本文通過文字說明加示例代碼的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • 為什么JavaScript中0.1 + 0.2 != 0.3

    為什么JavaScript中0.1 + 0.2 != 0.3

    這篇文章主要給大家介紹了關(guān)于為什么JavaScript中0.1 + 0.2 != 0.3的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評論

宕昌县| 浠水县| 大理市| 都兰县| 西林县| 喀什市| 通榆县| 赤水市| 宣化县| 青冈县| 泰兴市| 阳信县| 雅江县| 文安县| 浦城县| 昌黎县| 门源| 新和县| 满洲里市| 永靖县| 镇安县| 眉山市| 泰州市| 乌鲁木齐市| 邛崃市| 巴彦县| 海晏县| 滨海县| 灵武市| 新乡县| 北票市| 墨竹工卡县| 碌曲县| 临湘市| 灵寿县| 普兰县| 鹤岗市| 乃东县| 高邮市| 大邑县| 民丰县|