作者:jysghyb | 来源:互联网 | 2023-06-05 11:06
车轮出产地址http:www.see-source.comweixinwidgetdetail.html?wid81本文是经学习消化之后所写,功能有所改进。功能描述:
车轮出产地址 http://www.see-source.com/weixinwidget/detail.html?wid=81
本文是经学习消化之后所写,功能有所改进。
功能描述:
1.右侧字母列表点击,左侧城市列表随之滚动到对应位置。
2.右侧字母列表滑动,左侧城市列表随之滚动到对应位置。
3.左侧城市列表滚动,右侧字母列表相应显示所在位置。
4.点击城市项,顶部显示当前选择城市。
5.为右侧添加当前所选字母样式
重要代码:
onLoad: function (options) {
var searchLetter = city.searchLetter;
var cityList = city.cityList();
var sysInfo = wx.getSystemInfoSync();
var winHeight = sysInfo.windowHeight;
var itemH = winHeight / searchLetter.length;
var tempObj = [];
for (var i = 0; i var temp = {};
temp.name = searchLetter[i];
temp.topHeight = i * itemH;
temp.bottomHeight = (i + 1) * itemH;
tempObj.push(temp)
}
this.setData({
winHeight: winHeight,
itemH: itemH,
searchLetter: tempObj,
cityList: cityList
})
},
searchMove: function (e) {
var pageY = e.touches[0].pageY;
var startPageY = this.data.startPageY;
var topHeight = this.data.topHeight;
var bottomHeight = this.data.bottomHeight;
if (startPageY - pageY > 0) {
if (pageY this.nowLetter(pageY, this);
}
} else {
if (pageY > bottomHeight) {
this.nowLetter(pageY, this);
}
}
},
nowLetter: function (pageY, that) {
var letterData = this.data.searchLetter;
var bottomHeight = 0;
var topHeight = 0;
var showLetter = "";
for (var i = 0; i if (letterData[i].topHeight <= pageY && pageY <= letterData[i].bottomHeight) {
bottomHeight = letterData[i].bottomHeight;
topHeight = letterData[i].topHeight;
showLetter = letterData[i].name;
break;
}
}
this.setScrollTop(that, showLetter);
that.setData({
topHeight: topHeight,
bottomHeight: bottomHeight,
showLetter: showLetter,
startPageY: pageY
})
},
bindScroll: function (e) {
var scrollTop = e.detail.scrollTop
var cityList = this.data.cityList;
var cityTopHeight = 0
var cityBottomHeight = 0
for (var i = 0; i
cityBottomHeight += (cityList[i].cityInfo.length) * 43
if (cityTopHeight console.log("cityTop + cityTopHeight)
console.log("cityBottom + cityBottomHeight)
console.log("scrollTop=========" + scrollTop)
this.setData({
letterInto: cityList[i].initial
})
break;
}
cityTopHeight = cityBottomHeight
}
},
Demo链接: http://pan.baidu.com/s/1c180a68 密码: 94vi