jquary简单日历签到效果实现

最近写的项目活动中总是会写到每天签到的这个功能,然后网上找的插件各有利弊,最后,自己花了点时间,写了一个简便版的实现日历签到页面,供大家学习参考
最终效果图:
这里写图片描述

HTML部分:

 <div class="checkin">
        <div class="tit"><img src='images/t_icon.png' class='imgicon1'/><span id="now_month"></span>月签到日历<img src='images/t_icon.png' class='imgicon2'/></div>
        <ul class="week">
            <li>Su</li>
            <li>Mo</li>
            <li>Tu</li>
            <li>We</li>
            <li>Th</li>
            <li>Fr</li>
            <li>Sa</li>
        </ul>
        <ul class="calendarList">
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>
    </div>

CSS部分:

<style type="text/css">
@charset "utf-8";
*{margin:0;padding:0}
img{vertical-align:top}
body{background:#fee671; width:100%; font-size:14px; font-family:"Microsoft YaHei",微软雅黑,Arial,SimSun;color: #734221;}
a,ul,li{margin:0px; padding:0px;} 
a{text-decoration:none; outline:none;}
a,button,input{-webkit-tap-highlight-color:rgba(255,0,0,0);}
input{-webkit-appearance:none;outline:none;}
ul,li{list-style:none;}
.clear{clear:both}
.clear:after{clear:both;display:table;content:''}
.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}
.clearfix{*+height:1%;zoom:1}

 body{background: #fff6ca;font-size: 16px;}
.checkin{width: 96%;height: auto;margin-left: 2%;background: #fbb224;border: 10px solid #fff;border-radius: 15px;margin-top: 20px;float:left;box-sizing: border-box;box-shadow: 0px 8px 5px #e3dbb4;}
.tit{width:100%;height:45px;line-height: 45px;background: #fbae23;border-radius: 10px;font-size:18px;text-align: center;color: #fff;position: relative;border: 1px solid #fee783;box-shadow: 0px 0px 2px #9a590a;font-weight: bold;}
.tit img{width:18px;height: auto;position: absolute;top: 0;margin-top: -24px;}
.week,.calendarList{width: 95%;float: left;margin-left: 2.5%;margin-bottom: 15px;}
.week li{float: left;width:14.2%;font-size: 18px;color: #fbb224;background: #91550c;padding: 2% 0;border-radius: 0 0 10px 10px;text-align: center;}
.calendarList li{width: 13.6%;float: left;margin-right: 0.8%;margin-bottom: 2px; text-align: center; height: 32px;line-height: 32px; background: #fcc252;border-radius: 3px;font-size: 14px;color: #000;box-shadow: 0px 3px 2px #e9a121;}
.calendarList li.checked{background:#fff url(images/checked.png) no-repeat center;background-size: 20px auto;background-position: center 96%;}
.calendarList li:nth-child(7n){margin-right: 0;}
.imgicon1{left: 20%;}
.imgicon2{right: 20%;}       
.signrule{width: 90%;height: auto;margin: 0 5%;float: left;margin-top: 15px;}
.signrule h1{width: 96%;padding-left: 4%;height: 45px;line-height: 45px;color:#a05e0c;font-size: 20px;border-bottom: 1px dashed #a05e0c;clear: both;font-weight: 100;}
.sign_detail{width: 96%;padding-left: 4%;height:250px;overflow:auto;}
.sign_detail p{width: 100%; line-height: 32px;font-size:16px;color: #a05c0c;}
.sign_detail p span{color: #ff0000;font-size: 16px;}
    </style>

JS部分:

  <script type="text/javascript">
    var curDateTime = new Date();
    var nowYear = curDateTime.getFullYear(); //年
    var nowMonth = curDateTime.getMonth(); //月(从0开始)
    var nowDay = curDateTime.getDate(); //日
    var nowDayOfWeek = curDateTime.getDay(); //星期几 (0 ~ 6)
    var datamap = [1, 2, 3]; //签到的日期(默认从0开始)     
    var monthFirst = new Date(nowYear, nowMonth, 1).getDay(); //获取当月的第一天是星期几
    var lastmonthfianlday = new Date(nowYear, nowMonth, 0).getDate(); //获取上个月的最后一天是几号
    var d = new Date(nowYear, (nowMonth + 1), 0) //当月最后一天
    var totalDay = d.getDate(); //获取当前月的天数
    var li = $(".calendarList li");
    for (var i = 0; i < totalDay; i++) {
        li.eq(i + monthFirst).html(i + 1);
        for (var j = 0; j < datamap.length; j++) {
            if (i == datamap[j]) {
                // 假设已经签到的
                li.eq(i + monthFirst).addClass('checked');
            }
        }

    }
    for (var m = monthFirst - 1; m >= 0; m--, lastmonthfianlday--) {
        li.eq(m).html(lastmonthfianlday).css("color", "#fff");
    }
    var dd = 1;
    var allday = totalDay + monthFirst;
    for (var n = allday; n < li.length; n++, dd++) {
        li.eq(n).html(dd).css("color", "#fff");
    }

    $("#now_month").html(nowMonth + 1);


        //var d=new Date(2017,4,1) ==> Mon May 01 2017 00:00:00 GMT+0800 (中国标准时间) 2017年的5月1号
        //var a=new Date(2017,4,0) ==> Sun Apr 30 2017 00:00:00 GMT+0800 (中国标准时间) 2017年4月30号
        //c = new Date(2017, 5, 0) ==>Wed May 31 2017 00:00:00 GMT+0800 (中国标准时间)   2017年5月31号
    </script>

就这么简单~~~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: jQuery日历签到插件是一种使用jQuery框架开发的日历插件,它可以帮助开发者在网站或应用中快速添加日历签到功能。通常,这类插件可以让用户在日历中点击签到,并在签到后标记已签到的日期。有很多jQuery日历签到插件可供选择,例如:jquery-simple-datetimepicker,jQuery UI Datepicker 等。 ### 回答2: jQuery日历签到插件是一种用于在网页上创建并管理签到功能的插件。它基于最流行的JavaScript库jQuery开发,具有使用方便、功能强大的特点。 使用jQuery日历签到插件,我们可以轻松地在网站或应用中添加一个日历,让用户进行签到。用户可以通过点击日历中的日期来实现签到操作。插件会自动记录用户的签到历史,让用户可以随时查看过去签到的日期。 该插件提供了丰富的定制化选项,可以根据需求设置签到的样式、颜色、日期格式等。我们可以自定义插件的外观,使其与网站的整体风格保持一致。 在签到过程中,插件会根据用户的签到情况进行更新,例如标记已签到的日期、显示签到天数等。用户可以在日历上清晰地看到自己的签到进度,从而激励自己保持连续签到的动力。 除了基本的签到功能外,该插件还提供了一些有用的扩展功能,例如签到排名、分享到社交媒体等。这些功能可以增加用户的参与度和互动性,使签到活动更加有趣和吸引人。 总之,jQuery日历签到插件是一款方便实用的工具,能够轻松地在网页上添加签到功能,增强用户的参与度和互动性。无论是个人博客、在线商城还是社区论坛,都可以通过该插件为用户提供方便快捷的签到体验。 ### 回答3: jQuery日历签到插件是一种基于jQuery库开发的插件,用于在网站或应用程序中实现日历式的签到功能。这个插件可以方便地帮助用户记录自己的签到情况,并且可以显示签到的日期、统计签到次数等信息。 这个插件具有以下特点: 1. 界面美观:插件提供了精美的界面设计,用户可以直观地看到自己的签到情况。 2. 签到操作简单:用户可以通过点击日历来进行签到操作,无需繁琐的操作步骤。 3. 签到状态显示:已签到的日期会有特殊的标记,用户可以一目了然地知道哪些日期已经签到。 4. 签到记录统计:插件提供了签到次数的统计功能,用户可以知道自己的签到情况和坚持程度。 5. 可定制性强:插件提供了丰富的配置选项,用户可以根据自己的需求进行自定义设置,比如自定义签到图标、签到规则等。 使用这个插件,网站或应用程序可以方便地实现签到功能,提升用户的参与度和黏性。无论是健身签到、学习签到还是其他类型的签到,这个插件都能满足用户的需求。同时,由于基于jQuery开发,插件具有良好的兼容性和扩展性,可以与其他jQuery插件或功能进行集成。 综上所述,jQuery日历签到插件是一款功能强大、操作简单、界面美观的插件,适用于各种类型的签到应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值