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


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(二)事件机制(2)
Dec 06 Javascript
struts2+jquery+json实现异步加载数据(自写)
Jun 24 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
Nov 18 Javascript
Java遍历集合方法分析(实现原理、算法性能、适用场合)
Apr 25 Javascript
jQuery实现查找链接文字替换属性的方法
Jun 27 Javascript
easyui combobox开启搜索自动完成功能的实例代码
Nov 08 Javascript
微信小程序 网络API 上传、下载详解
Nov 09 Javascript
详解Layer弹出层样式
Aug 21 Javascript
微信小程序网络请求封装示例
Jul 24 Javascript
JS中通过url动态获取图片大小的方法小结(两种方法)
Oct 31 Javascript
浅谈js闭包理解
Mar 28 Javascript
vue+spring boot实现校验码功能
May 27 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
探讨:parse url解析URL,返回其组成部分
2013/06/14 PHP
在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程
2016/02/23 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
2016/03/23 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
PHP使用Redis实现防止大并发下二次写入的方法
2017/10/09 PHP
2017年最好用的9个php开发工具推荐(超好用)
2017/10/23 PHP
php之header的不同用法总结(实例讲解)
2017/11/28 PHP
PHP获取链表中倒数第K个节点的方法
2018/01/18 PHP
基于jquery的高性能td和input切换并可修改内容实现代码
2011/01/09 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
2016/04/14 Javascript
JavaScript的变量声明提升问题浅析(Hoisting)
2016/11/30 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
jQuery实现的滑块滑动导航效果示例
2018/06/04 jQuery
nodejs require js文件入口,在package.json中指定默认入口main方法
2018/10/10 NodeJs
浅谈webpack+react多页面开发终极架构
2018/11/11 Javascript
Angular8基础应用之表单及其验证
2019/08/11 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
ES6 Object.assign()的用法及其使用
2020/01/18 Javascript
JS如何在数组指定位置插入元素
2020/03/10 Javascript
JavaScript 防抖和节流遇见的奇怪问题及解决
2020/11/20 Javascript
Angular处理未可知异常错误的方法详解
2021/01/17 Javascript
[01:14]DOTA2 7.22版本新增神杖效果展示(智力英雄篇)
2019/05/29 DOTA
Python实现SVN的目录周期性备份实例
2015/07/17 Python
python executemany的使用及注意事项
2017/03/13 Python
python中不能连接超时的问题及解决方法
2018/06/10 Python
配置 Pycharm 默认 Test runner 的图文教程
2018/11/30 Python
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
2019/07/02 Python
python日期与时间戳的各种转换示例
2020/02/12 Python
python opencv进行图像拼接
2020/03/27 Python
清明节扫墓活动方案
2014/03/02 职场文书
《陈涉世家》教学反思
2014/04/12 职场文书
小学感恩节活动策划方案
2014/10/06 职场文书
写给父母的感谢信
2015/01/22 职场文书
奖金申请报告模板
2015/05/15 职场文书
同意离婚答辩状
2015/05/22 职场文书