本文实例为大家分享了小程序日历左右滑动效果的具体代码,供大家参考,具体内容如下
效果图
wxml
<scroll-view class="scroll-view" scroll-left="{{scrollLeftIndex*itemWidth}}" scroll-x scroll-with-animation> <view class='item' style='width:{{itemWidth}}px' wx:for="{{dateList}}" data-index='{{index}}' bindtap='clickDate'> <view class='text-view'> <view class='day {{index==clickIndex?"day-active":""}}'>{{item.day}}</view> <text class='month'>{{item.month}}月</text> <view wx:if="{{item.month == sysmonth && item.day == nowDate}}"> <text class='week'>今日</text> </view> <view wx:else> <text class='week'>{{item.week}}</text> </view> </view> </view> </scroll-view>
js
// byjs_sun/pages/product/all/all.js Page({ /** * 页面的初始数据 */ data: { dateList:[], //存放日期的数组 nowDate:'', //系统当前日期 }, // 格式化日期,时间 formatTime(date) { const year = date.getFullYear() const month = date.getMonth() + 1 const day = date.getDate() const hour = date.getHours() const minute = date.getMinutes() const second = date.getSeconds() return [year, month, day].map(this.formatNumber).join('/') + ' ' + [hour, minute, second].map(this.formatNumber).join(':') }, // 格式化数字 formatNumber(n) { n = n.toString() return n[1] ? n : '0' + n }, // 获取日期详情 getDateInfo(ts) { const date = new Date(ts); const weekArr = new Array("日", "一", "二", "三", "四", "五", "六"); const week = date.getDay(); let dateString = this.formatTime(date); let shortDateString = dateString.replace(/\//g, '-').substring(5, 10).replace(/-/g, '月') + "日"; if (date.getDate() < 10) { shortDateString = shortDateString.replace(/0/g, ''); } return { shortDateString, dateString, month: date.getMonth() + 1, day: date.getDate(), week: weekArr[week] } }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { var that = this; var myDate = new Date(); //获取系统当前时间 var sysmonth = myDate.getMonth() + 1 var nowDate = myDate.getDate(); //当前是本月几日 var today = myDate.toLocaleDateString(); //今日年月日 that.setData({ nowDate: nowDate, sysmonth: sysmonth }), console.log('系统日期:',myDate); console.log('系统日期(年/月/日):',today); console.log('系统日期(月):', sysmonth); console.log('系统日期(日):', nowDate); // 获取屏幕宽度,设置每个日期宽度 wx.getSystemInfo({ success: (res) => { console.log(res); this.setData({ windowWidth: res.windowWidth, itemWidth: parseInt(res.windowWidth / 7) }); }, }) this.initData(); }, // 初始化日期 initData() { const nowDateTime = +new Date(); let dateList = []; for (let i = -30; i < 30; i++) { let obj = this.getDateInfo(nowDateTime + i * 24 * 60 * 60 * 1000); obj.isChoose = i == 0; dateList.push(obj); } this.setData({ dateList, clickIndex: 30, scrollLeftIndex: 30 }); }, // 点击日期方法 clickDate(e) { var that = this; console.log('点击日期携带的下标:', e.currentTarget.dataset.index); //当前的点击的日期 var index = e.currentTarget.dataset.index; that.setData({ clickIndex: index }); // console.log(that.data.scrollLeftIndex); console.log('当前点击日期:',that.data.dateList[index].shortDateString); //当前点击的日期 // const { // index // } = e.currentTarget.dataset; // this.setData({ // clickIndex: index // }); // console.log(this.data.dateList[index]); }, })
样式
.scroll-view { height: 200rpx; background-color: #313751; width: 100%; white-space: nowrap; } .item { height: 200rpx; display: inline-block; } .text-view { display: flex; align-items: center; justify-content: center; flex-direction: column; width: 100%; height: 100%; color: #fff; } .month { font-size: 30rpx; margin-top: 10rpx; } .week { font-size: 32rpx; margin-top: 10rpx; } .day { font-size: 32rpx; width: 60rpx; height: 60rpx; border-radius: 10rpx; text-align: center; line-height: 60rpx; margin-top: 20rpx; } /* 日期选中的样式 */ .day-active { background-color: #FFB400; color: #fff; }
更多教程点击《Vue.js前端组件学习教程》,欢迎大家学习阅读。
关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍Android ViewPager实现左右滑动翻页效果,包括了Android ViewPager实现左右滑动翻页效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了ViewPager实现左右滑动翻页效果展示的具体代码,供大家参考,具体内容如下 代码如下: 布局文件: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍jquery实现左右滑动菜单效果代码,包括了jquery实现左右滑动菜单效果代码的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jquery实现左右滑动菜单效果代码。分享给大家供大家参考。具体如下: 这里演示了三种背景颜色左右滑动jquery菜单导航效果,IE下有问题,本菜单使用了CSS3的部分属性,因此建议使用火狐或Chrome等浏览器获取最佳效果。当把鼠标移到菜单上的时候
本文向大家介绍Android手势左右滑动效果,包括了Android手势左右滑动效果的使用技巧和注意事项,需要的朋友参考一下 最近想实现Android左滑弹出菜单框,右滑消失菜单这个个功能。了解了一下Android 的滑动事件,必须是在view组件或者Activity上实现,同时必须实现OnTouchListener, OnGestureListener这个两个接口。 以上就是本文的全部内容,希望对
本文向大家介绍微信小程序实现菜单左右联动,包括了微信小程序实现菜单左右联动的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了微信小程序实现菜单左右联动的具体代码,供大家参考,具体内容如下 今天记录一个个人写的二级联动示例。 下面是效果图: 功能实现关键是使用控件scroll-view,下面直接上示例代码。 页面对应的js文件: 页面对应的wxml文件: 注:纯个人编写,用于记录 为大家
本文向大家介绍Android组件banner实现左右滑屏效果,包括了Android组件banner实现左右滑屏效果的使用技巧和注意事项,需要的朋友参考一下 什么是banner组件?在许多Android应用上,比如爱奇艺客户端、百度美拍、应用宝等上面,都有一个可以手动滑动的小广告条,这就是banner,实际应用中的banner,其信息(图片和点击行为)是后台可配置的,是需要通过网络从后台拉取的。网上
本文向大家介绍Android实现微信首页左右滑动切换效果,包括了Android实现微信首页左右滑动切换效果的使用技巧和注意事项,需要的朋友参考一下 大家看到微信首页切换效果有没有觉得很炫,滑动切换,点击底部bar瞬间切换,滑动切换渐变效果,线上效果图: 之前也在博客上看到别人的实现,再次基础上,我做了些优化。首先说下实现原理,大神略过,o(╯□╰)o 页面上看到的三个页面是三个Fragment,