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


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 相关文章推荐
用js 让图片在 div或dl里 居中,底部对齐
Jan 21 Javascript
CSS JavaScript 实现菜单功能 改进版
Dec 09 Javascript
jquer之ajaxQueue简单实现代码
Sep 15 Javascript
javascript关于继承的用法汇总
Dec 20 Javascript
JavaScript实现显示函数调用堆栈的方法
Apr 21 Javascript
javascript基础知识之html5轮播图实例讲解(44)
Feb 17 Javascript
vue项目环境变量配置的实现方法
Oct 12 Javascript
Vue表情输入组件 微信face表情组件
Feb 11 Javascript
Angular中使用ng-zorro图标库部分图标不能正常显示问题
Apr 22 Javascript
vue+element实现打印页面功能
May 20 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
Jun 11 Javascript
小程序实现短信登录倒计时
Jul 12 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编写的简单页面跳转功能实现代码
2013/11/27 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
2017/02/16 PHP
用js怎么把&amp;字符换成&quot;&amp;amp:&quot;
2006/10/19 Javascript
javascript[js]获取url参数的代码
2007/10/17 Javascript
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
javascript 防止刷新,后退,关闭
2010/08/07 Javascript
jQuery之尺寸调整组件的深入解析
2013/06/19 Javascript
对JavaScript客户端应用编程的一些建议
2015/06/24 Javascript
AngularJS equal比较对象实例详解
2016/09/14 Javascript
关于js原型的面试题讲解
2016/09/25 Javascript
js实现可旋转的立方体模型
2016/10/16 Javascript
vue.js利用Object.defineProperty实现双向绑定
2017/03/09 Javascript
JS传参及动态修改页面布局
2017/04/13 Javascript
关于HTTP传输中gzip压缩的秘密探索分析
2018/01/12 Javascript
Vue组件和Route的生命周期实例详解
2018/02/10 Javascript
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
在Python编程过程中用单元测试法调试代码的介绍
2015/04/02 Python
python列表的增删改查实例代码
2018/01/30 Python
详解python OpenCV学习笔记之直方图均衡化
2018/02/08 Python
实例讲解python中的序列化知识点
2018/10/08 Python
图文详解Django使用Pycharm连接MySQL数据库
2019/08/09 Python
python中os包的用法
2020/06/01 Python
如何将json数据转换为python数据
2020/09/04 Python
Python中return函数返回值实例用法
2020/11/19 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
2021/01/05 Python
30岁生日感言
2014/01/25 职场文书
党支部换届选举方案
2014/05/08 职场文书
幼儿园园长安全责任书
2015/05/08 职场文书
运动会宣传语
2015/07/13 职场文书
新学期感想
2015/08/10 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书
授权协议书范本(3篇)
2019/10/15 职场文书
Keras多线程机制与flask多线程冲突的解决方案
2021/05/28 Python
教你怎么用PyCharm为同一服务器配置多个python解释器
2021/05/31 Python