微信小程序以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 相关文章推荐
JavaScript与DropDownList 区别分析
Jan 01 Javascript
return false,对阻止事件默认动作的一些测试代码
Nov 17 Javascript
JavaScript和CSS交互的方法汇总
Dec 02 Javascript
TypeError document.getElementById(...) is null错误原因
May 18 Javascript
浅谈JS原生Ajax,GET和POST
Jun 08 Javascript
javascript实现消灭星星小游戏简单版
Nov 15 Javascript
jquery做个日期选择适用于手机端示例
Jan 10 Javascript
React-Native实现ListView组件之上拉刷新实例(iOS和Android通用)
Jul 11 Javascript
Parcel 打包示例(React HelloWorld)
Jan 16 Javascript
Mint-UI时间组件起始时间问题及时间插件使用
Aug 20 Javascript
实例分析vue循环列表动态数据的处理方法
Sep 28 Javascript
JavaScript实现复选框全选和取消全选
Nov 20 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
星际争霸秘籍
2020/03/04 星际争霸
使用PHP socke 向指定页面提交数据
2008/07/23 PHP
PHP原生模板引擎 最简单的模板引擎
2012/04/25 PHP
轻松实现php文件上传功能
2017/02/17 PHP
如何修改Laravel中url()函数生成URL的根地址
2017/08/11 PHP
js实现快速分享功能(你的文章分享工具)
2013/06/25 Javascript
用js格式化金额可设置保留的小数位数
2014/05/09 Javascript
Jquery 获取指定标签的对象及属性的设置与移除
2014/05/29 Javascript
被遗忘的javascript的slice() 方法
2015/04/20 Javascript
ECMAScript5(ES5)中bind方法使用小结
2015/05/07 Javascript
jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法
2016/09/23 Javascript
用Vue.js实现监听属性的变化
2016/11/17 Javascript
js实现日历的简单算法
2017/01/24 Javascript
Vue.js实现模拟微信朋友圈开发demo
2017/04/20 Javascript
20行JS代码实现粘贴板复制功能
2018/02/06 Javascript
JS实现方形抽奖效果
2018/08/27 Javascript
vue 本地环境跨域请求proxyTable的方法
2018/09/19 Javascript
10个最受欢迎的 JavaScript框架(推荐)
2019/04/24 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
2019/05/05 Javascript
深入了解JavaScript 私有化
2019/05/30 Javascript
JS实现数据动态渲染的竖向步骤条
2020/06/24 Javascript
0基础学习前端开发的一些建议
2020/07/14 Javascript
echarts浮动显示单位的实现方法示例
2020/12/04 Javascript
详解js创建对象的几种方式和对象方法
2021/03/01 Javascript
[01:48]DOTA2 2015国际邀请赛中国区预选赛第二日战报
2015/05/27 DOTA
Python实现将绝对URL替换成相对URL的方法
2015/06/28 Python
对pandas数据判断是否为NaN值的方法详解
2018/11/06 Python
Python简单I/O操作示例
2019/03/18 Python
python批量爬取下载抖音视频
2019/06/17 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
美国知名日用品连锁超市:Dollar General(多来店)
2017/01/14 全球购物
雷蛇美国官网:Razer
2020/04/03 全球购物
新农村建设指导员工作总结
2015/08/13 职场文书
2019企业给员工的慰问信
2019/06/24 职场文书
解读MySQL的客户端和服务端协议
2021/05/10 MySQL
彩虹社八名人气艺人全新周边限时推出,性转女装男装一次拥有!
2022/04/01 日漫