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


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 相关文章推荐
关于图片按比例自适应缩放的js代码
Oct 30 Javascript
jquery动画2.元素坐标动画效果(创建一个图片走廊)
Aug 24 Javascript
angularjs基础教程
Dec 25 Javascript
JS实现兼容性好,带缓冲的动感网页右键菜单效果
Sep 18 Javascript
jquery实现邮箱自动填充提示功能
Nov 17 Javascript
js运动应用实例解析
Dec 28 Javascript
jQuery简单倒计时效果完整示例
Sep 20 Javascript
浅谈js的ajax的异步和同步请求的问题
Oct 07 Javascript
input获取焦点时底部菜单被顶上来问题的解决办法
Jan 24 Javascript
vue如何从接口请求数据
Jun 22 Javascript
JavaScript调用模式与this关键字绑定的关系
Apr 21 Javascript
小程序开发中如何使用async-await并封装公共异步请求的方法
Jan 20 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
PHPStrom中实用的功能和快捷键大全
2015/09/23 PHP
JavaScript中的property和attribute介绍
2011/12/26 Javascript
JavaScript高级程序设计(第3版)学习笔记 概述
2012/10/11 Javascript
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
javascript full screen 全屏显示页面元素的方法
2013/09/27 Javascript
js动态移动滚动条至底部示例代码
2014/04/24 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
2014/06/16 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
AngularJS iframe跨域打开内容时报错误的解决办法
2015/01/26 Javascript
JavaScript Uploadify文件上传实例
2017/02/28 Javascript
Nodejs基于LRU算法实现的缓存处理操作示例
2017/03/17 NodeJs
JavaScript链式调用实例浅析
2018/12/19 Javascript
React+Antd+Redux实现待办事件的方法
2019/03/14 Javascript
javascript移动端 电子书 翻页效果实现代码
2019/09/07 Javascript
vue-autoui自匹配webapi的UI控件的实现
2020/03/20 Javascript
Python爬虫模拟登录带验证码网站
2016/01/22 Python
Python使用poplib模块和smtplib模块收发电子邮件的教程
2016/07/02 Python
用Pygal绘制直方图代码示例
2017/12/07 Python
Python基于TCP实现会聊天的小机器人功能示例
2018/04/09 Python
深入浅析python with语句简介
2018/04/11 Python
python创建n行m列数组示例
2019/12/02 Python
python爬虫 requests-html的使用
2020/11/30 Python
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
基于第一个PhoneGap(cordova)的应用详解
2013/05/03 HTML / CSS
DJI美国:消费类无人机领域的领导者
2018/04/27 全球购物
英国Flybe航空官网:欧洲最大的独立支线廉价航空公司
2019/07/15 全球购物
Java中实现多态的机制是什么?
2014/12/07 面试题
关于毕业的广播稿
2014/01/10 职场文书
2014年医院十一国庆节活动方案
2014/09/15 职场文书
群众路线教育党员自我剖析材料
2014/10/06 职场文书
关于运动会广播稿200字
2014/10/08 职场文书
数学教师个人总结
2015/02/06 职场文书
乡镇保密工作承诺书
2015/05/04 职场文书
2015入党自传格式范文
2015/06/26 职场文书
公司开业的祝贺语大全(60条)
2019/07/05 职场文书