微信小程序仿美团城市选择


Posted in Javascript onJune 06, 2018

本文实例为大家分享了微信小程序城市选择器,供大家参考,具体内容如下

微信小程序仿美团城市选择

代码很简单.

var city = require('../../utils/city.js');
var app = getApp()
Page({
 data: {
 searchLetter: [],
 showLetter: "",
 winHeight: 0,
 // tHeight: 0,
 // bHeight: 0,
 cityList: [],
 isShowLetter: false,
 scrollTop: 0,//置顶高度
 scrollTopId: '',//置顶id
 city: "上海市",
 hotcityList: [{ cityCode: 110000, city: '北京市' }, { cityCode: 310000, city: '上海市' }, { cityCode: 440100, city: '广州市' }, { cityCode: 440300, city: '深圳市' }, { cityCode: 330100, city: '杭州市' }, { cityCode: 320100, city: '南京市' }, { cityCode: 420100, city: '武汉市' }, { cityCode: 410100, city: '郑州市' }, { cityCode: 120000, city: '天津市' }, { cityCode: 610100, city: '西安市' }, { cityCode: 510100, city: '成都市' }, { cityCode: 500000, city: '重庆市' }]
 },
 onLoad: function () {
 // 生命周期函数--监听页面加载
 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 < 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
 })

 },
 onReady: function () {
 // 生命周期函数--监听页面初次渲染完成

 },
 onShow: function () {
 // 生命周期函数--监听页面显示

 },
 onHide: function () {
 // 生命周期函数--监听页面隐藏

 },
 onUnload: function () {
 // 生命周期函数--监听页面卸载

 },
 onPullDownRefresh: function () {
 // 页面相关事件处理函数--监听用户下拉动作

 },
 onReachBottom: function () {
 // 页面上拉触底事件的处理函数

 },
 clickLetter: function (e) {
 console.log(e.currentTarget.dataset.letter)
 var showLetter = e.currentTarget.dataset.letter;
 this.setData({
  showLetter: showLetter,
  isShowLetter: true,
  scrollTopId: showLetter,
 })
 var that = this;
 setTimeout(function () {
  that.setData({
  isShowLetter: false
  })
 }, 1000)
 },
 //选择城市
 bindCity: function (e) {
 console.log("bindCity")
 this.setData({ city: e.currentTarget.dataset.city })
 },
 //选择热门城市
 bindHotCity: function (e) {
 console.log("bindHotCity")
 this.setData({
  city: e.currentTarget.dataset.city
 })
 },
 //点击热门城市回到顶部
 hotCity: function () {
 this.setData({
  scrollTop: 0,
 })
 }
})

demo下载地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery动态添加 input type=file的实现代码
Jun 14 Javascript
jQuery多项选项卡的实现思路附样式及代码
Jun 03 Javascript
JavaScript实现表格快速变色效果代码
Aug 19 Javascript
正则表达式(语法篇推荐)
Jun 24 Javascript
分享JavaScript监听全部Ajax请求事件的方法
Aug 28 Javascript
JS中事件冒泡和事件捕获介绍
Dec 13 Javascript
Javascript 对cookie操作详解及实例
Dec 29 Javascript
基于JS实现bookstore静态页面的实例代码
Feb 22 Javascript
移动端效果之Swiper详解
Oct 09 Javascript
简单明了区分escape、encodeURI和encodeURIComponent
May 26 Javascript
浅析JavaScript异步代码优化
Mar 18 Javascript
vue中this.$http.post()跨域和请求参数丢失的解决
Apr 08 Vue.js
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
Jun 05 #jQuery
详解封装基础的angular4的request请求方法
Jun 05 #Javascript
React.js绑定this的5种方法(小结)
Jun 05 #Javascript
微信小程序实现城市列表选择
Jun 05 #Javascript
vue.js将时间戳转化为日期格式的实现代码
Jun 05 #Javascript
如何使node也支持从url加载一个module详解
Jun 05 #Javascript
Js中将Long转换成日期格式的实现方法
Jun 05 #Javascript
You might like
PHP字符串的连接的简单实例
2013/12/30 PHP
php自动识别文件编码并转换为UTF-8的方法
2014/06/12 PHP
使用Composer安装Yii框架的方法
2016/03/15 PHP
joomla组件开发入门教程
2016/05/04 PHP
Firefox window.close()的使用注意事项
2009/04/11 Javascript
autoPlay 基于jquery的图片自动播放效果
2011/12/07 Javascript
jquery子元素过滤选择器使用示例
2013/06/24 Javascript
javascript运行机制之this详细介绍
2014/02/07 Javascript
学习JavaScript鼠标响应事件
2015/12/25 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
2017/04/27 Javascript
vue-router实现webApp切换页面动画效果代码
2017/05/25 Javascript
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
js实现会跳动的日历效果(完整实例)
2017/10/18 Javascript
JS实现百度搜索接口及链接功能实例代码
2018/02/02 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
2018/11/14 Javascript
VUE基于NUXT的SSR 服务端渲染
2018/11/30 Javascript
[41:17]完美世界DOTA2联赛PWL S3 access vs CPG 第二场 12.13
2020/12/17 DOTA
Python实现并行抓取整站40万条房价数据(可更换抓取城市)
2016/12/14 Python
Python3 Tkinter选择路径功能的实现方法
2019/06/14 Python
Python之数据序列化(json、pickle、shelve)详解
2019/08/30 Python
python中enumerate() 与zip()函数的使用比较实例分析
2019/09/03 Python
Python列表原理与用法详解【创建、元素增加、删除、访问、计数、切片、遍历等】
2019/10/30 Python
如何表示python中的相对路径
2020/07/08 Python
利用python 读写csv文件
2020/09/10 Python
Python爬虫实战案例之爬取喜马拉雅音频数据详解
2020/12/07 Python
解决HTML5手机端页面缩放的问题
2017/10/27 HTML / CSS
高级护理专业大学生求职信
2013/10/24 职场文书
学校党员对照检查材料
2014/08/28 职场文书
2014年第四季度入党积极分子思想汇报(十八届四中全会)
2014/11/03 职场文书
党员先进事迹材料
2014/12/19 职场文书
产品质量保证书范本
2015/02/27 职场文书
幼儿园万圣节活动总结
2015/05/05 职场文书
2019旅游导游工作总结
2019/06/27 职场文书
mysql timestamp比较查询遇到的坑及解决
2021/11/27 MySQL
GO中sync包自由控制并发示例详解
2022/08/05 Golang
Python中tqdm的使用和例子
2022/09/23 Python