微信小程序以7天为周期连续签到7天功能效果的示例代码


Posted in Javascript onAugust 20, 2020

此功能以1,2,3,4,5,6,7这样为一周期,连续签到的功能;
通过计算是否为整除7天计算,每7天后切换数目,从而改变周期表、

本案例只是提供案例的基本操作,进一步涉及:每日用户集的监听(日历表,签到统计,连续签到,签到中断,后端数据处理)等等功能需自行在搞掂哈~

如果图如下:

微信小程序以7天为周期连续签到7天功能效果的示例代码微信小程序以7天为周期连续签到7天功能效果的示例代码

wxml结构

<!--pages/signIn/signIn.wxml-->
<view class='signIn'>
 <view class='sign-com'>
 <view class='thead'>
 <view class='tt'>已连续签到</view>
 <view class='mm'><label class='n'>{{signNum}}</label>天</view>
 <view class='pp'>连续签到7日后每日得3分</view>
 </view>
 <view class='modle'>
 <view class='mol'>
 <view class='mol-line'></view>
 <view class='mol-ites'>
 <view class="ite {{signNum>=min?'hover':''}}" data-n='{{min}}'>
 <label class='n'>+{{min<7?1:3}}</label>
 </view>
 <view class="ite {{signNum>=min+1?'hover':''}}" data-n='{{min+1}}'>
 <label class='n'>+{{min+1<7?1:3}}</label>
 </view>
 <view class="ite {{signNum>=min+2?'hover':''}}" data-n='{{min+2}}'>
 <label class='n'>+{{min+2<7?1:3}}</label>
 </view>
 <view class="ite {{signNum>=min+3?'hover':''}}" data-n='{{min+3}}'>
 <label class='n'>+{{min+3<7?1:3}}</label>
 </view>
 <view class="ite {{signNum>=min+4?'hover':''}}" data-n='{{min+4}}'>
 <label class='n'>+{{min+4<7?1:3}}</label>
 </view>
 <view class="ite {{signNum>=min+5?'hover':''}}" data-n='{{min+5}}'>
 <label class='n'>+{{min+5<7?1:3}}</label>
 </view>
 <view class="ite {{signNum>=min+6?'hover':''}}" data-n='{{max}}'>
 <label class='n'>+{{min+6<7?1:3}}</label>
 </view>
 </view>
 </view>
 <view class='moday'>
 <label class='dd'>{{min}}天</label>
 <label class='dd'>{{min+1}}天</label>
 <label class='dd'>{{min+2}}天</label>
 <label class='dd'>{{min+3}}天</label>
 <label class='dd'>{{min+4}}天</label>
 <label class='dd'>{{min+5}}天</label>
 <label class='dd'>{{max}}天</label>
 </view>
 </view>

 <view class='the-btn'>
 <button type='button' class='btn' bindtap='bindSignIn' data-num="{{signNum}}" disabled='{{signState}}'
 data-min="{{min}}" data-max="{{max}}" data-be="{{be}}"
 >签到</button>
 </view>
 </view>
</view>

<view class='explax'>
 <view class=''>日期开始:{{min}} </view>
 <view class=''>日期结束:{{max}} </view>
 <view class=''>签到数:{{signNum}}天</view>
 <view class=''>切换周期的倍数:{{be}}</view>
</view>

js功能

// pages/signIn/signIn.js
//获取应用实例
const app = getApp();

Page({

 /**
 * 页面的初始数据
 */
 data: {
 //img_url: config.imgUrl, //图片地址

 //签到模块
 signNum: 0, //签到数
 signState: false, //签到状态
 min: 1, //默认值日期第一天1
 max: 7, //默认值日期最后一天7
 be: 0 //默认倍数


 },

 //签到
 bindSignIn(e) {
 var that = this,
 num = e.currentTarget.dataset.num;
 num++
 wx.showToast({
 icon: 'success',
 title: '签到成功',
 })
 that.setData({
 signNum: num,
 //signState: true
 })

 var min = e.currentTarget.dataset.min,
 max = e.currentTarget.dataset.max,
 be = e.currentTarget.dataset.be;

 if (num % 7 == 0) {
 be += 1;
 that.setData({
 be: be
 })
 }

 if (num == 7 * be + 1) {
 that.setData({
 min: 7 * be + 1,
 max: 7 * be + 7
 })
 }

 },


})

有什么错误或优化的地方,可以提出来,大家一起学习研究…

完整案例可访问本人github:https://github.com/xiexikang/xcx-signIn

参考:

到此这篇关于微信小程序以7天为周期连续签到7天功能效果的示例代码的文章就介绍到这了,更多相关微信小程序连续签到7天内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
IE8 chrome中table隔行换色解决办法
Jul 09 Javascript
js实现在页面上弹出蒙板技巧简单实用
Apr 16 Javascript
jsp+javascript打造级连菜单的实例代码
Jun 14 Javascript
基于jQuery实现响应式圆形图片轮播特效
Nov 25 Javascript
jQuery插件HighCharts绘制简单2D折线图效果示例【附demo源码】
Mar 21 jQuery
vue2.0移除或更改的一些东西(移除index key)
Aug 28 Javascript
node.js基于fs模块对系统文件及目录进行读写操作的方法详解
Nov 10 Javascript
jQuery超简单遮罩层实现方法示例
Sep 06 jQuery
Vue高版本中一些新特性的使用详解
Sep 25 Javascript
深入理解Vue keep-alive及实践总结
Aug 21 Javascript
原生JS实现记忆翻牌游戏
Jul 31 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
Aug 06 Javascript
微信小程序连续签到7天积分获得功能的示例代码
Aug 20 #Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
Aug 20 #Javascript
JavaScript 空间坐标的使用
Aug 19 #Javascript
vue插件--仿微信小程序showModel实现模态提示窗功能
Aug 19 #Javascript
jQuery实现评论模块
Aug 19 #jQuery
javaScript代码飘红报错看不懂?读完这篇文章再试试
Aug 19 #Javascript
jQuery实现简单评论功能
Aug 19 #jQuery
You might like
Re:从零开始的异世界生活 第2季 开播啦
2020/07/24 日漫
php for 循环语句使用方法详细说明
2010/05/09 PHP
PHP树-不需要递归的实现方法
2016/06/21 PHP
Yii 2.0中场景的使用教程
2017/06/02 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
2018/12/07 PHP
兼容多浏览器的字幕特效Marquee的通用js类
2008/07/20 Javascript
javascript模块化是什么及其优缺点介绍
2013/09/02 Javascript
jQuery实现固定在网页顶部的菜单效果代码
2015/09/02 Javascript
Prototype框架详解
2015/11/25 Javascript
基于Jquery实现焦点图淡出淡入效果
2015/11/30 Javascript
AngularJS Module方法详解
2015/12/08 Javascript
jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法
2016/01/19 Javascript
微信小程序 生命周期函数详解
2017/05/24 Javascript
JQuery选中select组件被选中的值方法
2018/03/08 jQuery
关于Vue组件库开发详析
2018/07/01 Javascript
vue-cli 3.x 修改dist路径的方法
2018/09/19 Javascript
微信小程序分包加载代码实现方法详解
2019/09/23 Javascript
js生成1到100的随机数最简单的实现方法
2020/02/07 Javascript
浅谈python下含中文字符串正则表达式的编码问题
2018/12/07 Python
python实现对服务器脚本敏感信息的加密解密功能
2019/08/13 Python
HTML5新特性 多线程(Worker SharedWorker)
2017/04/24 HTML / CSS
微软俄罗斯官方网站:Microsoft俄罗斯
2016/09/18 全球购物
菲律宾票务网站:StubHub菲律宾
2018/04/21 全球购物
大学在校生求职信范文
2013/11/21 职场文书
幼儿园中秋节活动方案2013
2014/01/29 职场文书
股权收购意向书
2014/04/01 职场文书
超市开店计划书
2014/04/26 职场文书
初二学习计划书范文
2014/04/27 职场文书
大学生入党推荐书范文
2014/05/17 职场文书
初中同学会活动方案
2014/08/22 职场文书
2014年国庆晚会主持词
2014/09/19 职场文书
教育项目合作协议书格式
2014/10/17 职场文书
先进班集体事迹材料
2014/12/25 职场文书
css3 实现文字闪烁效果的三种方式示例代码
2021/04/25 HTML / CSS
一篇文章弄懂MySQL查询语句的执行过程
2021/05/07 MySQL
原生Js 实现的简单无缝滚动轮播图的示例代码
2021/05/10 Javascript