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


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 相关文章推荐
两个JavaScript jsFiddle JSBin在线调试器
Mar 14 Javascript
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
Apr 21 Javascript
js去空格技巧分别去字符串前后、左右空格
Oct 21 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
Feb 10 Javascript
浅谈Javascript数组索引
Jul 29 Javascript
详解AngularJS控制器的使用
Mar 09 Javascript
javascript 解决浏览器不支持的问题
Sep 24 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
Oct 10 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
Mar 10 Javascript
react 父子组件之间通讯props
Sep 08 Javascript
解决echarts的多个折现数据出现坐标和值对不上的问题
Dec 28 Javascript
基于vue+element实现全局loading过程详解
Jul 10 Javascript
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相当简单的分页类
2008/10/02 PHP
PHP,ASP.JAVA,JAVA代码格式化工具整理
2010/06/15 PHP
Yii的CDbCriteria查询条件用法实例
2014/12/04 PHP
PHP 实现浏览记录并按日期分组
2017/05/11 PHP
PHP PDOStatement::debugDumpParams讲解
2019/01/30 PHP
PHP二维索引数组的遍历实例分析【2种方式】
2019/06/24 PHP
Jquery 基础学习笔记
2009/05/29 Javascript
客户端js判断文件类型和文件大小即限制上传大小
2013/11/20 Javascript
javascript初学者常用技巧
2014/09/02 Javascript
js实现网页随机切换背景图片的方法
2014/11/01 Javascript
实例讲解JQuery中this和$(this)区别
2014/12/08 Javascript
JavaScript数组各种常见用法实例分析
2015/08/04 Javascript
jQuery实现带水平滑杆的焦点图动画插件
2016/03/08 Javascript
jQuery属性选择器用法示例
2016/09/09 Javascript
JS生成和下载二维码的代码
2016/12/07 Javascript
使用Vue开发一个实时性时间转换指令
2018/01/17 Javascript
vue template中slot-scope/scope的使用方法
2018/09/06 Javascript
Vue项目从webpack3.x升级webpack4不完全指南
2019/04/28 Javascript
在vue中实现嵌套页面(iframe)
2020/07/30 Javascript
[10:49]2014国际邀请赛 叨叨刀塔第二期为真正的电竞喝彩
2014/07/21 DOTA
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
[01:01:41]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第二场 1月31日
2021/03/11 DOTA
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
Python OpenCV实现图片上输出中文
2018/01/22 Python
python re模块的高级用法详解
2018/06/06 Python
python使用tornado实现简单爬虫
2018/07/28 Python
python如何安装下载后的模块
2020/07/03 Python
Django model class Meta原理解析
2020/11/14 Python
Html5实现首页动态视频背景的示例代码
2019/09/25 HTML / CSS
简述数据库的设计过程
2015/06/22 面试题
科室工作个人总结的自我评价
2013/10/29 职场文书
运动会获奖感言
2014/02/11 职场文书
建筑工地标语
2014/06/18 职场文书
竞选班干部演讲稿500字
2014/08/20 职场文书
解读MySQL的客户端和服务端协议
2021/05/10 MySQL
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
2022/04/14 Python