微信小程序实现单列下拉菜单效果


Posted in Javascript onApril 25, 2019

 接下来我想做的是一个下拉菜单用来分类的,但是在网上搜了一下,基本上全都是比较复杂的分类菜单,最简单的也是分三列的下拉菜单,但是并不想要这么复杂的,最后找了一个三列的,改成了单列。也把代码尽可能的简单化了。

实现的效果图:

合并状态:

微信小程序实现单列下拉菜单效果

首先下面是目录结构: 

微信小程序实现单列下拉菜单效果

下面是实现的具体代码:

.wxml

<!--选择框-->
<view class="product-list">
 <!--条件选择-->
 <view class="choice-bar">
  <view bindtap="opens" data-item="1" class="chioce-item" hover-class="click-once-opaque">{{start}}
   <image class="icon-chioce" src="{{!isstart?openimg: offimg}}"></image>
  </view>
  <view class="sorting-list{{!isstart?' chioce-list-hide':' chioce-list-show'}}">
   <view wx:for="{{slist}}" catchtap="onclicks1" data-index="{{index}}" class="sorting-item" hover-class="click-once" wx:key="userInfoListId" >{{item.name}}</view>
  </view>
 </view>
</view>

.wxss

.product-list {
 width: 100%;
 box-sizing: border-box;
 
}
 
 
.choice-bar {
 position: fixed;
 display: flex;
 width: 100%;
 font-size: 14px;
 background-color: #fff;
 /**z-index: 0;**/
}
.chioce-item {
 background-color: #fff;
 display: flex;
 align-items: center;
 justify-content: space-between;
 padding: 0 20rpx;
 width: 100%;
 height: 80rpx;
 border-top: 1rpx solid #ddd;
 border-bottom: 1rpx solid #ddd;
 border-left: 1rpx solid #ddd;
 /*border-right: 1rpx solid #ddd;*/
}
 
.icon-chioce {
 height: 30rpx;
 width: 30rpx;
}
.district-list,.sorting-list,.filter-list {
 margin-top: 2rpx;
 position: absolute;
 top: 80rpx;
 left: 0;
 width: 100%;
 background-color: #fff;
 z-index: -1;
 font-size: 14px;
 border-bottom: 1rpx solid #ddd;
}
.chioce-list-hide {
 display: none !important;
}
.chioce-list-show {
 /**top: 80rpx;**/
 animation: slide 500ms;
}
 
.sorting-item {
 height: 80rpx;
 line-height: 80rpx;
 padding: 0 40rpx;
 border-bottom: 1rpx solid #ddd;
}

.js

Page({
 data: {
  start: "起始地",
  slist: [
   { id: 1, name: "第一类" },
   { id: 1, name: "第二类" },
   { id: 1, name: "第三类" },
   { id: 1, name: "第四类" },
   { id: 1, name: "第五类" },
  ],
  isstart: false,
  openimg: "/images/list/list.png",
  offimg: "/images/list/list1.png"
 },
 opens: function (e) {
  switch (e.currentTarget.dataset.item) {
   case "1":
    if (this.data.isstart) {
     this.setData({
      isstart: false,
     });
    }
    else {
     this.setData({
      isstart: true,
     });
    }
    break;
  }
 },
 onclicks1: function (e) {
  var index = e.currentTarget.dataset.index;
  let name = this.data.slist[index].name;
  this.setData({
   isstart: false,
   isfinish: false,
   isdates: false,
   start: this.data.slist[index].name,
   finish: "目的地"
  })
 }
})

以上所述是小编给大家介绍的微信小程序单列下拉菜单详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery 数据缓存data(name, value)详解及实现
Jan 04 Javascript
javascript 冒泡排序 正序和倒序实现代码
Dec 14 Javascript
JS字符串截取函数实例
Dec 27 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
Sep 22 Javascript
vue.js全局API之nextTick全面解析
Jul 07 Javascript
JS实现二维数组横纵列转置的方法
Apr 17 Javascript
详解javascript中的babel到底是什么
Jun 21 Javascript
Electron-vue开发的客户端支付收款工具的实现
May 24 Javascript
微信小程序仿今日头条导航栏滚动解析
Aug 20 Javascript
IDEA安装vue插件图文详解
Sep 26 Javascript
JS 逻辑判断不要只知道用 if-else 和 switch条件判断(小技巧)
May 27 Javascript
js观察者模式的弹幕案例
Nov 23 Javascript
Vue组件通信的几种实现方法
Apr 25 #Javascript
深入解析vue 源码目录及构建过程分析
Apr 24 #Javascript
使用webpack4编译并压缩ES6代码的方法示例
Apr 24 #Javascript
页面内锚点定位及跳转方法总结(推荐)
Apr 24 #Javascript
详解Vue项目中实现锚点定位
Apr 24 #Javascript
微信小程序中使用echarts的实现方法
Apr 24 #Javascript
基于mpvue小程序使用echarts画折线图的方法示例
Apr 24 #Javascript
You might like
浅析php中jsonp的跨域实例
2013/06/21 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
一样的table?不一样的table(可编辑状态table)
2012/09/19 Javascript
jQuery滚动加载图片效果的实现
2013/03/06 Javascript
js如何实现设计模式中的模板方法
2013/07/23 Javascript
JavaScript限定复选框的选择个数示例代码
2013/08/25 Javascript
Jquery EasyUI的添加,修改,删除,查询等基本操作介绍
2013/10/11 Javascript
JavaScript修改css样式style动态改变元素样式
2013/12/16 Javascript
JQuery+Ajax无刷新分页的实例代码
2014/02/08 Javascript
jQuery实现向下滑出的二级菜单效果实例
2015/08/22 Javascript
JS禁用页面上所有控件的实现方法(附demo源码下载)
2015/12/17 Javascript
返回函数的JavaScript函数
2016/06/14 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
利用 spin.js 生成等待效果(js 等待效果)
2017/06/25 Javascript
3种vue路由传参的基本模式
2018/02/22 Javascript
Vue不能观察到数组length的变化
2018/06/08 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
2020/03/17 Javascript
JavaScript链式调用原理与实现方法详解
2020/05/16 Javascript
[01:17]Ti4 循环赛第一日回顾
2014/07/11 DOTA
浅析Python中MySQLdb的事务处理功能
2016/09/21 Python
python中matplotlib的颜色及线条控制的示例
2018/03/16 Python
python读取Excel实例详解
2018/08/17 Python
python实现简单登陆系统
2018/10/18 Python
django settings.py 配置文件及介绍
2019/07/15 Python
Python ADF 单位根检验 如何查看结果的实现
2020/06/03 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
python 密码学示例——理解哈希(Hash)算法
2020/09/21 Python
python归并排序算法过程实例讲解
2020/11/04 Python
Django自带的用户验证系统实现
2020/12/18 Python
Python 多进程原理及实现
2020/12/21 Python
人力资源管理专业学生自我评价
2013/11/20 职场文书
大一军训感言
2014/01/09 职场文书
毕业生自荐信格式
2014/03/07 职场文书
大专学生求职自荐信
2014/07/06 职场文书
入党介绍人意见2015
2015/06/01 职场文书