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


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效率调优经验
Jun 04 Javascript
JavaScript对象的property属性详解
Apr 01 Javascript
删除Javascript Object中间的key
Nov 18 Javascript
js对象的复制继承实例
Jan 10 Javascript
Ionic快速安装教程
Jun 03 Javascript
纯前端JavaScript实现Excel IO案例分享
Aug 26 Javascript
jQuery css() 方法动态修改CSS属性
Sep 25 Javascript
vuejs绑定class和style样式
Apr 11 Javascript
Node.js中的child_process模块详解
Jun 08 Javascript
JS实现模糊查询带下拉匹配效果
Jun 21 Javascript
react-router4按需加载(踩坑填坑)
Jan 06 Javascript
在Vue 中获取下拉框的文本及选项值操作
Aug 13 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
无线电的诞生过程
2021/03/01 无线电
php 显示指定路径下的图片
2009/10/29 PHP
PHP Imagick完美实现图片裁切、生成缩略图、添加水印
2016/02/22 PHP
PHP+Ajax验证码验证用户登录
2016/07/20 PHP
php实现微信企业转账功能
2018/10/02 PHP
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
2009/11/12 Javascript
浅谈jQuery的offset()方法及示例分享
2015/07/17 Javascript
js中的内部属性与delete操作符介绍
2015/08/10 Javascript
JavaScript 模块的循环加载实现方法
2015/12/13 Javascript
js HTML5 Ajax实现文件上传进度条功能
2016/02/13 Javascript
js中window.open的参数及注意注意事项
2016/07/06 Javascript
jQuery 移动端拖拽(模块化开发,触摸事件,webpack)
2016/10/28 Javascript
js仿百度音乐全选操作
2017/01/13 Javascript
Bootstrap框架安装使用详解
2017/01/21 Javascript
vue监听滚动事件实现滚动监听
2017/04/11 Javascript
JavaScript之面向对象_动力节点Java学院整理
2017/06/29 Javascript
详解Vue底部导航栏组件
2019/05/02 Javascript
Vue实现点击显示不同图片的效果
2019/08/10 Javascript
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
Python Sqlite3以字典形式返回查询结果的实现方法
2016/10/03 Python
python去除文件中重复的行实例
2018/06/29 Python
Python Series从0开始索引的方法
2018/11/06 Python
在python中用print()输出多个格式化参数的方法
2019/07/16 Python
python主线程与子线程的结束顺序实例解析
2019/12/17 Python
使用python无账号无限制获取企查查信息的实例代码
2020/04/17 Python
基于PyQT实现区分左键双击和单击
2020/05/19 Python
Keras—embedding嵌入层的用法详解
2020/06/10 Python
解决c++调用python中文乱码问题
2020/07/29 Python
Python 通过爬虫实现GitHub网页的模拟登录的示例代码
2020/08/17 Python
投标承诺书范本
2014/03/27 职场文书
《北京的春节》教学反思
2014/04/07 职场文书
中文专业求职信
2014/06/20 职场文书
2014各大专业毕业生自我评价
2014/09/17 职场文书
财务会计实训报告
2014/11/05 职场文书
vue前端工程的搭建
2021/03/31 Vue.js
关于的python五子棋的算法
2022/05/02 Python