一:ios上时间字符串转换为时间戳问题
分享者:栖木,来自原文地址
给定一个时间字符串 var time="2017-02-27 16:42:53" js有三种转换为时间戳的方法:
1、var timestamp = Date.parse(time)
2、var timestamp = time.getTime()
3、var timestamp = time.valueOf()
第一种方法只能精确到秒,后两种能精确到毫秒。
然而相同的代码,在android上能正常执行,在ios上就会出错。
临下班来这么一出,被坑得贼惨,明天开始五一假期,只能晚上加班来解决小程序的这个坑。试过无数种方法后,最后用以下代码解决了问题:
- var date=time.substr(0,10)//2017-02-27
- var hour=time.substr(11,2).replace(/\b(0+)/gi,"") //16
- var minute=time.substr(14,2).replace(/\b(0+)/gi,"") //42
- var second=time.substr(17,2).replace(/\b(0+)/gi,"")//53
- var timestamp =parseInt(new Date(date).getTime() / 1000)+parseInt(hour)*3600+parseInt(minute)*60+parseInt(second)-28800//别问我为什么-28800,只能告诉你实践出真知
- var time=timestampFormat(timestamp)//timestampFormat:自定义的将时间戳转换为刚刚,昨天16:42等表达的方法
二:上滑加载更多
分享者:千一网络,来自原文地址
微信小程序自带有下拉刷新,但是没有自带上滑加载更多,不过网上说可以用scroll-view来实现。
但是 我并不推荐 scroll-view ,不过我们还是先看看用 scroll-view 的做法,再介绍一下我的做法。
- <scroll-view style="height:500rpx;" scroll-y="true" bindscrolltoupper="loadNew" bindscrolltolower="loadMore">
- <block wx:for="{{items}}">
- <view class="section">
- <video src="{{item.videoUrl}}" controls></video>
- <text>{{item.title}}</text>
- </view>
- </block>
- </scroll-view>
一定要有两个属性:
- 一是在样式中指定 height。
- 二是指定scroll-y 为 true。
然后就可以用bindscrolltoupper监测滑到最上头了,用bindscrolltolower监测滑到最下头了。理论上它可以实现上拉刷新、下拉加载更多两种效果,但是效果不是很好。
而且它是滑到端头就响应事件,并不是需要继续拉一段距离才响应,这点不如enablePullDownRefresh完美。
还有:微信并不推荐在 scroll-view 中使用 textarea、map、canvas、video 组件。
还有: 在滚动 scroll-view 时会阻止页面回弹,所以在 scroll-view 中滚动,是无法触发 onPullDownRefresh。
所以还是介绍新的方案吧:onReachBottom
虽然也没有实现继续拉一段距离才响应,但是整个效果比 scroll-view 好多了。
- Page({
- onReachBottom: function()
- {
- this.loadList();
- }
- })