本文小編為大家詳細介紹“微信小程序開發(fā)中怎么實現(xiàn)城市選擇器”,內容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“微信小程序開發(fā)中怎么實現(xiàn)城市選擇器”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
柳江ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!移動開發(fā)中城市選擇器必不可少.
gif:
這里只上部分js代碼:
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) { // 生命周期函數--監(jiān)聽頁面加載 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 () { // 生命周期函數--監(jiān)聽頁面初次渲染完成 }, onShow: function () { // 生命周期函數--監(jiān)聽頁面顯示 }, onHide: function () { // 生命周期函數--監(jiān)聽頁面隱藏 }, onUnload: function () { // 生命周期函數--監(jiān)聽頁面卸載 }, onPullDownRefresh: function () { // 頁面相關事件處理函數--監(jiān)聽用戶下拉動作 }, 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 }) } })
讀到這里,這篇“微信小程序開發(fā)中怎么實現(xiàn)城市選擇器”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
本文題目:微信小程序開發(fā)中怎么實現(xiàn)城市選擇器-創(chuàng)新互聯(lián)
轉載來源:http://jinyejixie.com/article20/ccpcco.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站內鏈、商城網站、全網營銷推廣、營銷型網站建設、面包屑導航、云服務器
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容