65 lines
2.1 KiB
JavaScript
65 lines
2.1 KiB
JavaScript
|
// index.js
|
||
|
var minOffset = 30; //最小偏移量,低于这个值不响应滑动处理
|
||
|
var minTime = 60; // 最小时间,单位:毫秒,低于这个值不响应滑动处理
|
||
|
var startX = 0; //开始时的X坐标
|
||
|
var startY = 0; //开始时的Y坐标
|
||
|
var startTime = 0; //开始时的毫秒数
|
||
|
|
||
|
Page({
|
||
|
data: {
|
||
|
// markers: [{
|
||
|
// id: 1,
|
||
|
// longitude: 120.22096505715056,
|
||
|
// latitude: 30.257772854411684,
|
||
|
// width: 48,
|
||
|
// height: 48,
|
||
|
// iconPath: '../../static/index/location_fill.png'
|
||
|
// }],
|
||
|
height: 30,
|
||
|
lat: 40.412646,
|
||
|
lng: 110.034106
|
||
|
},
|
||
|
onLoad(e) {
|
||
|
const res = wx.getWindowInfo()
|
||
|
this.setData({
|
||
|
panelTop: parseInt(res.windowHeight / 3) * 2,
|
||
|
windowHeight: res.windowHeight
|
||
|
})
|
||
|
},
|
||
|
tapMap(e) {
|
||
|
let h = parseInt(this.data.windowHeight / 3) * 2
|
||
|
this.setData({
|
||
|
panelTop: h
|
||
|
})
|
||
|
},
|
||
|
touchStart: function (e) {
|
||
|
startX = e.touches[0].pageX; // 获取触摸时的x坐标
|
||
|
startY = e.touches[0].pageY; // 获取触摸时的x坐标
|
||
|
startTime = new Date().getTime(); //获取毫秒数
|
||
|
},
|
||
|
touchCancel: function (e) {
|
||
|
startX = 0; //开始时的X坐标
|
||
|
startY = 0; //开始时的Y坐标
|
||
|
startTime = 0; //开始时的毫秒数
|
||
|
},
|
||
|
touchEnd: function (e) {
|
||
|
var endX = e.changedTouches[0].pageX;
|
||
|
var endY = e.changedTouches[0].pageY;
|
||
|
var touchTime = new Date().getTime() - startTime;
|
||
|
if (touchTime >= minTime) {
|
||
|
var xOffset = endX - startX;
|
||
|
var yOffset = endY - startY;
|
||
|
if (Math.abs(xOffset) < Math.abs(yOffset) && Math.abs(yOffset) >= minOffset) {
|
||
|
if (yOffset < 0 || (e.target.offsetTop > 400)) {
|
||
|
this.setData({
|
||
|
height: 80
|
||
|
})
|
||
|
} else {
|
||
|
this.setData({
|
||
|
height: 30
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
})
|