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


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 写类方式之一
Jul 05 Javascript
yepnope.js 异步加载资源文件
Sep 08 Javascript
一个基于jQuery的树型插件(OrangeTree)使用介绍
May 03 Javascript
ScrollDown的基本操作示例
Jun 09 Javascript
用jQuery获取IE9下拉框默认值问题探讨
Jul 22 Javascript
javaScript中定义类或对象的五种方式总结
Dec 04 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
Jun 12 jQuery
Vue2.0 多 Tab切换组件的封装实例
Jul 28 Javascript
vue使用iframe嵌入网页的示例代码
Jun 09 Javascript
Echart折线图手柄触发事件示例详解
Dec 16 Javascript
Vue watch响应数据实现方法解析
Jul 10 Javascript
Vue封装Axios请求和拦截器的步骤
Sep 16 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
【COS正片】蕾姆睡衣cos,纯洁可爱被治愈了 cn名濑弥七
2020/03/02 日漫
php ios推送(代码)
2013/07/01 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
解决PhpStorm64不能启动的问题
2020/06/20 PHP
学习ExtJS fit布局使用说明
2009/10/08 Javascript
两种简单实现菜单高亮显示的JS类代码
2010/06/27 Javascript
jquery和javascript的区别(常用方法比较)
2013/07/04 Javascript
使用FlexiGrid实现Extjs表格效果方法分享
2014/12/16 Javascript
jQuery中index()方法用法实例
2014/12/27 Javascript
jquery带下拉菜单和焦点图代码分享
2015/08/24 Javascript
AngualrJS中每次$http请求时的一个遮罩层Directive
2016/01/26 Javascript
Jquery跨域获得Json的简单实例
2016/05/18 Javascript
深入理解JavaScript 函数
2016/06/06 Javascript
Bootstrap学习笔记之css组件(3)
2016/06/07 Javascript
Javascript实现图片懒加载插件的方法
2016/10/20 Javascript
JavaScript在form表单中使用button按钮实现submit提交方法
2017/01/23 Javascript
vue中本地静态图片路径写法
2018/03/06 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
2020/01/20 Javascript
vue过滤器实现日期格式化的案例分析
2020/07/02 Javascript
VUE使用axios调用后台API接口的方法
2020/08/03 Javascript
openLayer4实现动态改变标注图标
2020/08/17 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
javascript实现点击小图显示大图
2020/11/29 Javascript
[01:09:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第一场 6.2
2018/06/04 DOTA
Python本地与全局命名空间用法实例
2015/06/16 Python
python将字典内容存入mysql实例代码
2018/01/18 Python
python 将字符串转换成字典dict的各种方式总结
2018/03/23 Python
解决python3 网络请求路径包含中文的问题
2018/05/10 Python
使用Python脚本从文件读取数据代码实例
2020/01/19 Python
基于Python测试程序是否有错误
2020/05/16 Python
五个2015 年最佳HTML5 框架
2015/11/11 HTML / CSS
会话Bean的种类
2013/11/07 面试题
领导干部作风建设总结
2014/10/23 职场文书
电工实训报告总结
2014/11/05 职场文书
家长通知书家长意见
2014/12/30 职场文书