微信小程序实现日历效果


Posted in Javascript onDecember 28, 2018

本文实例为大家分享了微信小程序实现日历效果的具体代码,供大家参考,具体内容如下

效果预览:

微信小程序实现日历效果

wxml部分:

<view class='box1' style='width: {{ sysW * 7 }}px'>
 <view class='dateBox'>{{ year }} - {{ month}}</view>
 <block wx:for='{{ weekArr }}'>
  <view style='width: {{ sysW }}px; height: {{ sysW }}px; line-height: {{ sysW }}px;'>{{ item }}</view>
 </block>
 <block wx:for='{{ arr }}'>
  <view style='{{ index == 0 ? "margin-left:" + sysW * marLet + "px;" : "" }}width: {{ sysW }}px; height: {{ sysW }}px; line-height: {{ sysW }}px;' class='{{ item == getDate ? "dateOn" : ""}}'>{{ item }}</view>
 </block>
</view>

wxss部分:

.box1 .dateBox{
 width: 100%;
 height: 50px;
 line-height: 50px;
 text-align: center;
 margin-top: 20px;
 font-size: 40rpx;
}

.box1{
 display: flex;
 flex-wrap: wrap;
 margin: 0 auto;
}

.box1>view{
 height: 30px;
 line-height: 30px;
 text-align: center;
 font-size: 34rpx;
}

.dateOn{
 border-radius: 50%;
 background-color: hotpink;
 color: #fff;
}

js部分:

// page/index/index.js
Page({

 /**
  * 页面的初始数据
  */
 data: {
  arr: [],
  sysW: null,
  lastDay: null,
  firstDay: null,
  weekArr: ['日', '一', '二', '三', '四', '五','六'],
  year: null
 },

 //获取日历相关参数
 dataTime: function () {
  var date = new Date();
  var year = date.getFullYear();
  var month = date.getMonth() ;
  var months = date.getMonth() + 1;

  //获取现今年份
  this.data.year = year;

  //获取现今月份
  this.data.month = months;

  //获取今日日期
  this.data.getDate = date.getDate();

  //最后一天是几号
  var d = new Date(year, months, 0);
  this.data.lastDay = d.getDate();

  //第一天星期几
  let firstDay = new Date(year, month, 1);
  this.data.firstDay = firstDay.getDay();
 },

 onLoad: function (options) {
  this.dataTime();

  //根据得到今月的最后一天日期遍历 得到所有日期
  for (var i = 1; i < this.data.lastDay + 1; i++) {
   this.data.arr.push(i);
  }
  var res = wx.getSystemInfoSync();
  this.setData({
   sysW: res.windowHeight / 12,//更具屏幕宽度变化自动设置宽度
   marLet: this.data.firstDay,
   arr: this.data.arr,
   year: this.data.year,
   getDate: this.data.getDate,
   month: this.data.month
  });
 }
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript - HTML的request类
Jul 15 Javascript
JS日期和时间选择控件升级版(自写)
Aug 02 Javascript
jQuery给多个不同元素添加class样式的方法
Mar 26 Javascript
javascript瀑布流式图片懒加载实例
Jun 28 Javascript
jQuery循环遍历子节点并获取值的方法
Apr 14 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
Sep 09 Javascript
JS公共小方法之判断对象是否为domElement的实例
Nov 25 Javascript
实现两个文本框同时输入的实例
Sep 25 Javascript
详解Vue组件实现tips的总结
Nov 01 Javascript
bootstrap轮播模板使用方法详解
Nov 17 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
Aug 25 Javascript
微信小程序之数据绑定原理解析
Aug 14 Javascript
Mint UI实现A-Z字母排序的城市选择列表
Dec 28 #Javascript
axios携带cookie配置详解(axios+koa)
Dec 28 #Javascript
微信小程序日历/日期选择插件使用方法详解
Dec 28 #Javascript
解决echarts的多个折现数据出现坐标和值对不上的问题
Dec 28 #Javascript
微信小程序时间控件picker view使用详解
Dec 28 #Javascript
微信小程序时间选择插件使用详解
Dec 28 #Javascript
微信小程序当前时间时段选择器插件使用方法详解
Dec 28 #Javascript
You might like
解析PHP跳出循环的方法以及continue、break、exit的区别介绍
2013/07/01 PHP
PHP中的Session对象如何使用
2015/09/25 PHP
thinkPHP5.0框架环境变量配置方法
2017/03/17 PHP
PHP微信企业号开发之回调模式开启与用法示例
2017/11/25 PHP
php实现支付宝当面付(扫码支付)功能
2018/05/30 PHP
thinkPHP3.2.3实现阿里大于短信验证的方法
2018/06/06 PHP
Yii2框架控制器、路由、Url生成操作示例
2019/05/27 PHP
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
JS、CSS加载中的小问题探讨
2013/11/26 Javascript
jquery、js操作checkbox全选反选
2014/03/12 Javascript
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
Javascript冒泡排序算法详解
2014/12/03 Javascript
浅谈jquery.fn.extend与jquery.extend区别
2015/07/13 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
2015/08/31 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
2015/12/25 Javascript
javaScript生成支持中文带logo的二维码(jquery.qrcode.js)
2017/01/03 Javascript
jquery实现手机端单店铺购物车结算删除功能
2017/02/22 Javascript
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
跟老齐学Python之大话题小函数(2)
2014/10/10 Python
图文详解WinPE下安装Python
2016/05/17 Python
Python更新数据库脚本两种方法及对比介绍
2017/07/27 Python
python爬取足球直播吧五大联赛积分榜
2018/06/13 Python
对python指数、幂数拟合curve_fit详解
2018/12/29 Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
2019/10/30 Python
python读取raw binary图片并提取统计信息的实例
2020/01/09 Python
浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
2020/06/12 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
美国亚洲时尚和美容产品的一站式网上商店:Stylevana
2019/09/05 全球购物
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
银行实习自我鉴定
2013/10/12 职场文书
教学个人的自我评价分享
2014/02/16 职场文书
幼儿园大班家长评语
2014/04/17 职场文书
法定代表人授权委托书范本
2014/10/07 职场文书
护理见习报告范文
2014/11/03 职场文书
大连星海广场导游词
2015/02/10 职场文书
回复函范文
2015/07/14 职场文书