• Mar 21 Tue 2023 08:03
  • 日曆

 
 




 


 


 


@{


 


}


 


<!DOCTYPE html>


 


<html>


<head>


    <meta name="viewport" content="width=device-width" />


    <title>Index</title>


 


    <style>


 


        .calendar-container {


            width:800px;


            min-width:800px;


            margin-left:auto;


            margin-right:auto;


        }


 


        .calendar-header {


            text-align: center;


            margin-top: 18px;


            margin-bottom: 6px;


            display: flex;


        }


 


        .calendar-header div {


               


                display: flex;


                justify-content: center;


                align-items: center;


 


        }


 


 


 


       .calendar-header .calendar-month-name {


                width: 100%;


                height: 40px; /* 設定元素的高度 */


                font-size: 24px; /* 設定元素內容的字體大小 */


                font-weight: bold; /* 設定元素內容的字體加粗 */


                color:#666;


       }


 


        .calendar-header .btn-change-month {


            font-size: 24px;


            font-weight: bold;


            background-color: #2196F3;


            color: #fff;


            padding: 0px 6px 0px 8px;


            height: 32px;


            cursor:pointer;


            user-select:none;


            border-radius:5px;


         }


 


 


        /* 星期幾表頭 */


        .calendar-weekdays {


            display: flex;


        }


 


        /* 星期幾格子 */


        .calendar-weekday {


            width: 100px;


            text-align: center;


            font-size: 16px;


            font-weight: bold;


        }


 


        /* 日曆內容 */


        .calendar-content {


            display: flex;


            flex-wrap: wrap;


            border: 1px solid #ccc;


        }


 


        /* 日期格子 */


        .calendar-day {


            width: 100px;


            height: 40px;


            text-align: center;


            line-height: 40px;


            font-size: 16px;


            display:flex;


 


        }


 


        .calendar-day .text-day{


          margin-left:3px;


        }


 


        body {


            font-family: Tahoma;


        }


 


        .calendar-content, .calendar-weekdays {


            display: flex;


            flex-wrap: wrap;


        }


            .calendar-content .calendar-day, .calendar-weekdays .calendar-weekday {


                width: calc(100% / 7 - 2px);


            }


            .calendar-content .calendar-day {


           


            }


 


            .calendar-weekdays .calendar-weekday {


                height: 40px;


                color: #666;


                font-family:'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;


            }


 


            .calendar-content .calendar-day {


                border: 1px solid #eee;


                height: 80px;


                user-select: none;


                margin:1px;


            }


 


            /* 每七個 div 換行 */


        .calendar-content div:nth-child(7n+1) {


            clear: both;


        }


 


    </style>


   


 


</head>


<body>


 


      


    <div>


        <div id="calendar_gpt" class="calendar-container"></div>


    </div>


</body>


</html>


 


<script>


 


    var initCcalendar = function (calendarContainer,year, month) {


       


        if (month == undefined || year == undefined) {


            var date = new Date();


             year = date.getFullYear();


             month = date.getMonth();


        }


 


        var header = $("<div>").addClass("calendar-header");


 


        var calendarHeaderMonth = $('<div>').addClass("calendar-month-name").text(year + '年 ' + (month + 1) + '月' );


        var weekdays = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];


        var weekdaysAbbr = ['日', '一', '二', '三', '四', '五', '六'];


 


 


        var weekdaysHeader = $('<div>').addClass('calendar-weekdays');


        for (var i = 0; i < weekdays.length; i++) {


            var calendarWeekday = $('<div>').addClass('calendar-weekday').text(weekdays[i]);


            weekdaysHeader.append(calendarWeekday);


        }


 


        // 獲取當月的天數和第一天是星期幾


        var firstDay = new Date(year, month, 1).getDay();


        var daysInMonth = new Date(year, month + 1, 0).getDate();


 


 


        // 計算日曆內容的高度


        var contentHeight = Math.ceil((daysInMonth + firstDay) / 7) * 40;


 


        // 生成日曆內容


        var content = $('<div>').addClass('calendar-content');


        for (var i = 0; i < firstDay; i++) {


            var dayTemplate = $('<div>').addClass('calendar-day').text('');


            content.append(dayTemplate);


        }


 


        var dates = [];


        for (var i = 1; i <= daysInMonth; i++) {


            dates.push(i);


        }


       


     


        dates.forEach(function (d) {


            var ds = $("<span>").addClass("text-day").text(d);


            var dayTemplate = $('<div>').addClass('calendar-day').off("click").on("click", function (e) {;


 


                var clickDate = year + "-" + (month + 1) + "-" + d;


                console.log(clickDate);


               


            }).append(ds);


            content.append(dayTemplate);


        });


 


 


        var lastBlinkDay = 7 - (firstDay + daysInMonth) % 7;


        for (var i = 0; i < lastBlinkDay; i++) {


            var dayTemplate = $("<div>").addClass("calendar-day calendar-blink-day").text("");


            content.append(dayTemplate);


        }


 


        calendarContainer.empty().append(header).append(weekdaysHeader).append(content);


 


        // 增加切換上下月的功能


 


 


        var prevMonth = $('<div>').addClass('prev-month btn-change-month').html('&lt;').on("click", function () {


            month--;


            if (month < 0) {


                month = 11;


                year--;


            }


            initCcalendar(calendarContainer,year, month);


        });


 


        var nextMonth = $('<div>').addClass('next-month btn-change-month').html('&gt;').on("click", function () {


            month++;


            if (month > 11) {


                month = 0;


                year++;


            }


            initCcalendar(calendarContainer,year, month);


        });


 


        // 添加上下月的箭頭


      


        header.prepend(prevMonth);


        header.append(calendarHeaderMonth);


        header.append(nextMonth);


    };


 


    var calendarContainer = $('#calendar_gpt');


    initCcalendar(calendarContainer);


</script>


 


 





門外漢 發表在 痞客邦 留言(0) 人氣()

image
開發工具: STM32CubeMX 6.6.1 (使用這個建立Library)
開發環境: STM32CubeIDE

門外漢 發表在 痞客邦 留言(0) 人氣()

image
1.透過STM32CubeMX取得STemWin Library
開啟[STM32CubeMX] -> 點選右上方選項[Help] -> 選擇[Updater Setting]

門外漢 發表在 痞客邦 留言(0) 人氣()

image
開發環境
下載器: DAPLink (強烈推薦使用,具備下載與Uart。)
STM MUC開發工具: STM32CubeMX 6.6.1

門外漢 發表在 痞客邦 留言(0) 人氣()

image

 
   讀取影像格式與轉換           

門外漢 發表在 痞客邦 留言(0) 人氣()

image
 
   影像讀取為Bgr格式

門外漢 發表在 痞客邦 留言(0) 人氣()

image

將web應用程式發佈到Azure App Server,開啟網站顯示錯誤訊息"錯誤。處理您的要求時發生錯誤。",經確認為存取權限問題。當在Azure建立SQL Server時,有將開發平台的ip設定為允許存取,所以在開發平台可以正常執行APP,當程式發佈到Azure App Server,因Azure SQL Server未將Azure App Server預設為安全規則,所以才會發生存取錯誤。
具體操作過程如下

門外漢 發表在 痞客邦 留言(0) 人氣()

image
裝置的解析度≠顯示的範圍
顯示的範圍會因裝置上的狀態列、工具列等縮小顯示範圍,因此需妥善配置排版與增加顯示範圍。

門外漢 發表在 痞客邦 留言(0) 人氣()

image

取得的ST7789少了一個CS Pin非Adafruit版本,使用Adafruit的Library無法正常操作。
 

門外漢 發表在 痞客邦 留言(0) 人氣()

image
點對點傳輸是將雙方設定在同一個PAN底下,透過彼此之間的UART地址進行收發。
1. 設定共同的Pen

門外漢 發表在 痞客邦 留言(0) 人氣()

image
ESP32支援MicroPython, 將韌體燒寫進去ESP32, 就可在ESP32執行py程式.
 

門外漢 發表在 痞客邦 留言(0) 人氣()

image
為什麼需要虛擬環境?
在開發專案時, 會使用很多套件, 若在同一環境下不斷新增套件, 整個專案會變成非常大, 那麼在開發小專案中, 就會多出很多使用不到的套件.

門外漢 發表在 痞客邦 留言(0) 人氣()

Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。