微信小程序以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 相关文章推荐
兼容Mozilla必须知道的知识。
Jan 09 Javascript
js锁屏解屏通过对$.ajax进行封装实现
Jul 31 Javascript
基于jquery实现的可编辑下拉框实现代码
Aug 02 Javascript
js事件冒泡、事件捕获和阻止默认事件详解
Aug 04 Javascript
前端js弹出框组件使用方法
Aug 24 Javascript
React创建组件的三种方式及其区别
Jan 12 Javascript
JavaScript实现左右下拉框动态增删示例
Mar 09 Javascript
React-Native做一个文本输入框组件的实现代码
Aug 10 Javascript
在 Vue 项目中引入 tinymce 富文本编辑器的完整代码
May 04 Javascript
基于Vue实现图片在指定区域内移动的思路详解
Nov 11 Javascript
小程序从手动埋点到自动埋点的实现方法
Jan 24 Javascript
使用vue构建多页面应用的示例
Oct 22 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
php调用dll的实例操作动画与代码分享
2012/08/14 PHP
利用PHP+JS实现搜索自动提示(实例)
2013/06/09 PHP
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
浅谈php(codeigniter)安全性注意事项
2017/04/06 PHP
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
关于onScroll事件在IE6下每次滚动触发三次bug说明
2011/09/21 Javascript
javascript页面加载完执行事件代码
2014/02/11 Javascript
引入autocomplete组件时JS报未结束字符串常量错误
2014/03/19 Javascript
简单分析javascript面向对象与原型
2015/05/21 Javascript
js字符串截取函数slice、substring和substr的比较
2016/05/17 Javascript
深入理解JavaScript中的对象复制(Object Clone)
2016/05/18 Javascript
js+div+css下拉导航菜单完整代码分享
2016/12/28 Javascript
12个非常有用的JavaScript技巧
2017/05/17 Javascript
基于rem的移动端响应式适配方案(详解)
2017/07/07 Javascript
浅谈Vue 数据响应式原理
2018/05/07 Javascript
微信小程序自定义可滑动顶部TabBar选项卡实现页面切换功能示例
2019/05/14 Javascript
Angular短信模板校验代码
2020/09/23 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
2020/11/12 Javascript
微信小程序实现通讯录列表展开收起
2020/11/18 Javascript
在Python的Django框架下使用django-tagging的教程
2015/05/30 Python
Python中基本的日期时间处理的学习教程
2015/10/16 Python
python 类详解及简单实例
2017/03/24 Python
Python打印输出数组中全部元素
2018/03/13 Python
python解决js文件utf-8编码乱码问题(推荐)
2018/05/02 Python
idea创建springMVC框架和配置小文件的教程图解
2018/09/18 Python
解决PySide+Python子线程更新UI线程的问题
2019/01/11 Python
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
英国天然保健品网站:Simply Supplements
2017/03/22 全球购物
小天鹅官方商城:LittleSwan
2017/06/16 全球购物
学年自我鉴定范文
2013/10/01 职场文书
聚美优品励志广告词
2014/03/14 职场文书
医院竞聘演讲稿
2014/05/16 职场文书
学前教育专业求职信
2014/09/02 职场文书
升国旗演讲稿
2014/09/05 职场文书
世界名著读书笔记
2015/06/25 职场文书
MySQL 如何设计统计数据表
2021/06/15 MySQL