上一篇
想象一下:你正在开发一个活动预约网站,用户需要查看每月可用日期、标记已约时段,甚至切换周/月视图,但市面上的日历插件要么太笨重,要么样式死板,改起来比登天还难……别慌!今天给你安利一个轻量、灵活、还支持自定义模板的前端日历神器——clndr.js!🔥
clndr.js是一个基于jQuery的JavaScript日历插件,核心特点就是“把展示权交给你”!它不生成默认的丑陋表格,而是通过Handlebars.js模板让你完全控制日历的外观,搭配Moment.js处理日期逻辑,轻量到只有10KB左右!💡
<!-- 必选依赖 --> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.13.1/underscore-min.js"></script> <!-- clndr.js本体 --> <script src="https://cdn.jsdelivr.net/npm/clndr@1.5.1/clndr.min.js"></script>
在HTML里定义一个容器,并写上你的模板:
<div id="calendar"></div> <script id="calendar-template" type="text/template"> div class="clndr-controls"> <div class="clndr-previous-button">‹</div> <div class="month"><%= month %></div> <div class="clndr-next-button">›</div> </div> <div class="clndr-grid"> <div class="days-container"> <div class="day-headers"> <% _.each(daysOfTheWeek, function(day) { %> <div class="day-header"><%= day %></div> <% }); %> </div> <div class="days"> <% _.each(days, function(day) { %> <div class="<%= day.classes %>" data-date="<%= day.date %>"> <%= day.day %> </div> <% }); %> </div> </div> </div> </script>
$(document).ready(function() { var currentMonth = moment().format('YYYY-MM'); $('#calendar').clndr({ template: $('#calendar-template').html(), startWithMonth: currentMonth, events: [ { date: '2025-08-25', title: '团队会议', url: '/meeting' }, { date: '2025-08-30', title: '项目上线', url: '/launch' } ], clickEvents: { click: function(target) { console.log('点击了日期:', target.data('date')); } } }); });
clndr.js默认样式极简,但你可以通过CSS随意改造:
.clndr-grid { background: #fff; border-radius: 12px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); } .day-header { color: #666; font-weight: bold; } .today { background: #4CAF50; color: white; border-radius: 50%; }
根据GitHub最新提交(2025年8月),clndr.js已适配ES模块和TypeScript,并新增了:
相比FullCalendar等重型插件,clndr.js更轻、更灵活、学习成本更低!尤其适合需要高度定制外观或快速集成的项目,2025年它依然活跃在GitHub,社区持续更新,妥妥的前端日历界“常青树”!🌳
还在等什么?赶紧用clndr.js给你的项目加个炫酷日历吧!🚀
本文由 业务大全 于2025-08-23发表在【云服务器提供商】,文中图片由(业务大全)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://xdh.7tqx.com/wenda/702428.html
发表评论