| var city = require('../../utils/city.js');
|
|
|
| Page({
|
| data: {
|
| searchLetter: [],
|
| showLetter: "",
|
| winHeight: 0,
|
| tHeight:0,
|
| bHeight:0,
|
| startPageY:0,
|
| cityList:[],
|
| isShowLetter:false,
|
| scrollTop:0,
|
| city:""
|
| },
|
| onLoad: function (options) {
|
| // 生命周期函数--监听页面加载
|
| var searchLetter = city.searchLetter;
|
| var cityList=city.cityList();
|
| // console.log(cityInfo);
|
|
|
| var sysInfo = wx.getSystemInfoSync();
|
| console.log(sysInfo);
|
| var winHeight = sysInfo.windowHeight;
|
|
|
| //添加要匹配的字母范围值
|
| //1、更加屏幕高度设置子元素的高度
|
| var itemH = winHeight / searchLetter.length;
|
| var tempObj = [];
|
| for (var i = 0; i < searchLetter.length; i++) {
|
| var temp = {};
|
| temp.name = searchLetter[i];
|
| temp.tHeight = i * itemH;
|
| temp.bHeight = (i + 1) * itemH;
|
|
|
| tempObj.push(temp)
|
| }
|
|
|
| this.setData({
|
| winHeight: winHeight,
|
| itemH: itemH,
|
| searchLetter: tempObj,
|
| cityList:cityList
|
| })
|
|
|
| console.log(this.data.cityInfo);
|
| },
|
| onReady: function () {
|
| // 生命周期函数--监听页面初次渲染完成
|
|
|
| },
|
| onShow: function () {
|
| // 生命周期函数--监听页面显示
|
|
|
| },
|
| onHide: function () {
|
| // 生命周期函数--监听页面隐藏
|
|
|
| },
|
| onUnload: function () {
|
| // 生命周期函数--监听页面卸载
|
|
|
| },
|
| onPullDownRefresh: function () {
|
| // 页面相关事件处理函数--监听用户下拉动作
|
|
|
| },
|
| onReachBottom: function () {
|
| // 页面上拉触底事件的处理函数
|
|
|
| },
|
| onShareAppMessage: function () {
|
| // 用户点击右上角分享
|
| return {
|
| title: 'title', // 分享标题
|
| desc: 'desc', // 分享描述
|
| path: 'path' // 分享路径
|
| }
|
| },
|
| searchStart: function (e) {
|
| var showLetter = e.currentTarget.dataset.letter;
|
| var pageY = e.touches[0].pageY;
|
| this.setScrollTop(this,showLetter);
|
| this.nowLetter(pageY,this);
|
| this.setData({
|
| showLetter: showLetter,
|
| startPageY: pageY,
|
| isShowLetter:true,
|
| })
|
| },
|
| searchMove: function (e) {
|
| var pageY = e.touches[0].pageY;
|
| var startPageY=this.data.startPageY;
|
| var tHeight=this.data.tHeight;
|
| var bHeight=this.data.bHeight;
|
| var showLetter = 0;
|
| console.log(pageY);
|
| if(startPageY-pageY>0){ //向上移动
|
| if(pageY<tHeight){
|
| // showLetter=this.mateLetter(pageY,this);
|
| this.nowLetter(pageY,this);
|
| }
|
| }else{//向下移动
|
| if(pageY>bHeight){
|
| // showLetter=this.mateLetter(pageY,this);
|
| this.nowLetter(pageY,this);
|
| }
|
| }
|
| },
|
| searchEnd: function (e) {
|
| // console.log(e);
|
| // var showLetter=e.currentTarget.dataset.letter;
|
| var that=this;
|
| setTimeout(function(){
|
| that.setData({
|
| isShowLetter:false
|
| })
|
| },1000)
|
|
|
| },
|
| nowLetter: function (pageY, that) {//当前选中的信息
|
| var letterData = this.data.searchLetter;
|
| var bHeight = 0;
|
| var tHeight = 0;
|
| var showLetter="";
|
| for (var i = 0; i < letterData.length; i++) {
|
| if (letterData[i].tHeight <= pageY && pageY<= letterData[i].bHeight) {
|
| bHeight = letterData[i].bHeight;
|
| tHeight = letterData[i].tHeight;
|
| showLetter = letterData[i].name;
|
| break;
|
| }
|
| }
|
|
|
| this.setScrollTop(that,showLetter);
|
|
|
| that.setData({
|
| bHeight:bHeight,
|
| tHeight:tHeight,
|
| showLetter:showLetter,
|
| startPageY:pageY
|
| })
|
| },
|
| bindScroll:function(e){
|
| console.log(e.detail)
|
| },
|
| setScrollTop:function(that,showLetter){
|
| var scrollTop=0;
|
| var cityList=that.data.cityList;
|
| var cityCount=0;
|
| var initialCount=0;
|
| for(var i=0;i<cityList.length;i++){
|
| if(showLetter==cityList[i].initial){
|
| scrollTop=initialCount*30+cityCount*41;
|
| break;
|
| }else{
|
| initialCount++;
|
| cityCount+=cityList[i].cityInfo.length;
|
| }
|
| }
|
|
|
| that.setData({
|
| scrollTop:scrollTop
|
| })
|
| },
|
| bindCity:function(e){
|
| var city=e.currentTarget.dataset.city;
|
| this.setData({city:city})
|
| }
|
| }) |
“switchCity.rar”没有文件
有数据库吗
有后台代码吗?
您指的是?