所有分类
  • 所有分类
  • 后端开发
前端开发必知:使用 JavaScript 设置年历的详细步骤

前端开发必知:使用 JavaScript 设置年历的详细步骤

在本文中,我将为你介绍如何使用javascript来设置年历。步骤2:使用JavaScript生成年历以上代码将生成包含12个月历的年历。@media查询用于在达到特定屏幕宽度时更改月历的样式。至此,我们的年历就完成了!在本文中,我们介绍了

咱们平时生活哪里离得开电脑跟手机!不论是上班或者休息,都要用到好用的日程表来安排自己。那不如试着用JavaScript来搞个日程表,不仅可以提升你的编程技能,还能让你的生活更加轻松。今天就让我教大家如何做出一个既实用又炫酷的日程表,用JavaScript一步步搞定它。

第一步:搭建HTML骨架

搞定年历的关键是搭建好网页的骨架,首先来个div盒子,就跟造房子打地基一样重要。然后我们再写个简单的HTML页面,里面放上这个div盒子,以后每月的日历就能堂而皇之地显现出来。HTML代码看起来简洁,却起着至关重要的作用!



    年历设置
    
        body {
            margin: 0;
            padding: 0;
            font-family: Arial, sans-serif;
        }
        .calendar {
            display: flex;
            flex-wrap: wrap;
            padding: 20px;
        }
        .month {
            flex-basis: calc(100% / 4 - 20px);
            margin-right: 20px;
            margin-bottom: 20px;
            border: 1px solid #ccc;
            border-radius: 5px;
            box-shadow: 0 0 5px #ccc;
        }
        .month-header {
            background-color: #007bff;
            color: #fff;
            padding: 10px;
            font-weight: bold;
            border-top-left-radius: 5px;
            border-top-right-radius: 5px;
        }
        .weekdays {
            display: flex;
            background-color: #efefef;
            padding: 5px;
            border-bottom: 1px solid #ccc;
        }
        .day {
            flex-basis: calc(100% / 7);
            padding: 5px;
            text-align: center;
            border: 1px solid #ccc;
        }
        .today {
            background-color: #007bff;
            color: #fff;
            border-radius: 50%;
        }
    


    

第二步:美化我们的年历:CSS样式

别急,先搭好HTML的架子,然后要靠CSS来打扮下,让咱的日历更加炫酷滴展示出来。CSS主要搞定的就是字号、颜色和排版啥的,把咱们的日历整得牛逼哄哄哒。这个步骤小重要因为调好了CSS,咱们的日历就能在各种设备上美美地呈现!

第三步:JavaScript的魔法:生成年历

接着咱们玩儿点刺激的,瞧瞧JavaScript能干些什么。利用它做个每月日程表,含计算日期、寻得每个月首周等功能。有了JavaScript,这些都不再是难题,只需照着我说的做就能提高我们年历的品质!虽然这个环节有点挑战性,但只要跟着我走,保证没问题!

// 获取年份
const year = new Date().getFullYear();
// 获取月份名称
const months = [
    "January",
    "February",
    "March",
    "April",
    "May",
    "June",
    "July",
    "August",
    "September",
    "October",
    "November",
    "December"
];
// 生成月历函数
function generateMonth(monthIndex) {
    // 创建月历元素
    const monthElement = document.createElement("div");
    monthElement.classList.add("month");
    // 创建月份名称元素
    const headerElement = document.createElement("div");
    headerElement.classList.add("month-header");
    headerElement.textContent = months[monthIndex];
    monthElement.appendChild(headerElement);
    // 创建星期名称元素
    const weekdaysElement = document.createElement("div");
    weekdaysElement.classList.add("weekdays");
    const weekdays = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
    weekdays.forEach(function(weekday) {
        const weekdayElement = document.createElement("div");
        weekdayElement.classList.add("day");
        weekdayElement.textContent = weekday;
        weekdaysElement.appendChild(weekdayElement);
    });
    monthElement.appendChild(weekdaysElement);
    // 获取当前月份的天数
    const daysInMonth = new Date(year, monthIndex + 1, 0).getDate();
    // 获取当前月份的第一天是星期几
    const firstDayOfWeek = new Date(year, monthIndex, 1).getDay();
    // 生成日期元素
    for (let day = 1; day <= daysInMonth; day++) {
        const dayElement = document.createElement("div");
        dayElement.classList.add("day");
        dayElement.textContent = day;
        // 如果是今天,将其设置为特殊样式
        if (
            year === new Date().getFullYear() &&
            monthIndex === new Date().getMonth() &&
            day === new Date().getDate()
        ) {
            dayElement.classList.add("today");
        }
        monthElement.appendChild(dayElement);
    }
    return monthElement;
}
// 生成12个月的月历
for (let i = 0; i < 12; i++) {
    const monthElement = generateMonth(i);
    document.querySelector(".calendar").appendChild(monthElement);
}

第四步:让年历动起来:交互功能

年历加点互动功能就更赞!比如随便点点日期,当天的事儿尽在掌握;轻松切换年份和月份,体验不一样的时间之旅。这都不是事儿,用JavaScript的事件处理机制就能实现。这样一来,我们的年历不仅美观实用,还能让你玩得停不下来!

第五步:优化用户体验:响应式设计

总之,我们的日历得在各种设备上都看着顺眼是不是?那么,利用CSS之类的工具,我们可以用媒体查询来让日历根据屏幕大小自动调整,不管你是用手机、平板还是电脑,都能看得舒心!

第六步:调试与优化

做完项目得看下有没有问题,再给速度加点油,方便大家用得顺手点。虽然可能有些折腾,但为了让年历更稳定、更快地运行,这可是必不可少的!

body {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
}
.calendar {
    display: flex;
    flex-wrap: wrap;
    padding: 20px;
}
.month {
    flex-basis: calc(100% / 4 - 20px);
    margin-right: 20px;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-shadow: 0 0 5px #ccc;
}
.month-header {
    background-color: #007bff;
    color: #fff;
    padding: 10px;
    font-weight: bold;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}
.weekdays {
    display: flex;
    background-color: #efefef;
    padding: 5px;
    border-bottom: 1px solid #ccc;
}
.day {
    flex-basis: calc(100% / 7);
    padding: 5px;
    text-align: center;
    border: 1px solid #ccc;
}
.today {
    background-color: #007bff;
    color: #fff;
    border-radius: 50%;
}
@media only screen and (max-width: 768px) {
    .month {
        flex-basis: calc(100% / 2 - 10px);
        margin-right: 10px;
    }
}

第七步:分享与展示

搞定所有的开发和优化,我们就可以骄傲地展示年历上传到GitHub让大家欣赏一下或者写个博客分享知识也是不错的选择。这不仅是炫耀技术,还能学到新东西,跟大家互动~

总结:打造属于你自己的年历

搞定,咱们用JS整出了一份超好玩实用的年历学到了好多东西,也挺有趣的。希望这份教程能激发大家编程的热情,越做越好。我想听听大家看法:年历还有哪些新鲜玩意儿可以加进去?

原文链接:https://www.icz.com/technicalinformation/web/2024/06/18472.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?