本文小編為大家詳細(xì)介紹“微信小程序開發(fā)中怎么實(shí)現(xiàn)城市選擇器”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“微信小程序開發(fā)中怎么實(shí)現(xiàn)城市選擇器”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、甘肅網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價格優(yōu)惠性價比高,為甘肅等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
移動開發(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) { // 生命周期函數(shù)--監(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、更加屏幕高度設(shè)置子元素的高度 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 () { // 生命周期函數(shù)--監(jiān)聽頁面初次渲染完成 }, onShow: function () { // 生命周期函數(shù)--監(jiān)聽頁面顯示 }, onHide: function () { // 生命周期函數(shù)--監(jiān)聽頁面隱藏 }, onUnload: function () { // 生命周期函數(shù)--監(jiān)聽頁面卸載 }, onPullDownRefresh: function () { // 頁面相關(guān)事件處理函數(shù)--監(jiān)聽用戶下拉動作 }, onReachBottom: function () { // 頁面上拉觸底事件的處理函數(shù) }, onShareAppMessage: function () { // 用戶點(diǎn)擊右上角分享 return { title: 'title', // 分享標(biāo)題 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) {//當(dāng)前選中的信息 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ā)中怎么實(shí)現(xiàn)城市選擇器”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動手實(shí)踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)頁名稱:微信小程序開發(fā)中怎么實(shí)現(xiàn)城市選擇器
本文URL:http://jinyejixie.com/article10/ggihgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、建站公司、手機(jī)網(wǎng)站建設(shè)、微信公眾號、App設(shè)計(jì)、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)