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


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的递增/递减运算符和带操作的赋值运算符的等价式
Dec 08 Javascript
关于include标签导致js路径找不到的问题分析及解决
Jul 09 Javascript
node.js中的fs.readSync方法使用说明
Dec 17 Javascript
node.js中的fs.openSync方法使用说明
Dec 17 Javascript
原生js实现日期联动
Jan 12 Javascript
JavaScript实现斗地主游戏的思路
Feb 29 Javascript
Node.js中使用jQuery的做法
Aug 17 Javascript
详解js中Number()、parseInt()和parseFloat()的区别
Dec 20 Javascript
angularjs+bootstrap实现自定义分页的实例代码
Jun 19 Javascript
Vue EventBus自定义组件事件传递
Jun 25 Javascript
浅谈nuxtjs校验登录中间件和混入(mixin)
Nov 06 Javascript
json.stringify()与json.parse()的区别以及用处
Jan 25 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
蝙蝠侠:侠影之谜
2020/03/04 欧美动漫
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
PHP中::、-&amp;gt;、self、$this几种操作符的区别介绍
2013/04/24 PHP
smarty内部日期函数html_select_date()用法实例分析
2015/07/08 PHP
PHP程序员学习使用Swoole的理由
2018/06/24 PHP
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
javascript 设置某DIV区域内的checkbox复选框
2009/11/30 Javascript
js 变量类型转换常用函数与代码[比较全]
2009/12/01 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
javascript常用函数(1)
2015/11/04 Javascript
jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
2015/12/01 Javascript
Spring MVC中Ajax实现二级联动的简单实例
2016/07/06 Javascript
Bootstrap基本插件学习笔记之按钮(21)
2016/12/08 Javascript
vue的状态管理模式vuex
2017/11/30 Javascript
利用JQUERY实现多个AJAX请求等待的实例
2017/12/14 jQuery
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
基于layui框架响应式布局的一些使用详解
2019/09/16 Javascript
[07:12]2014DOTA2西雅图国际邀请赛 黑马Liquid专题采访
2014/07/12 DOTA
使用PYTHON接收多播数据的代码
2012/03/01 Python
python获取mp3文件信息的方法
2015/06/15 Python
python实现聚类算法原理
2018/02/12 Python
Python装饰器简单用法实例小结
2018/12/03 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
2019/06/05 Python
Django中从mysql数据库中获取数据传到echarts方式
2020/04/07 Python
python中用ctypes模拟点击的实例讲解
2020/11/26 Python
pycharm 如何取消连按两下shift出现的全局搜索
2021/01/15 Python
全面总结使用CSS实现水平垂直居中效果的方法
2016/03/10 HTML / CSS
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
打架检讨书800字
2014/01/10 职场文书
《陋室铭》教学反思
2014/02/26 职场文书
施工协议书范本
2014/04/22 职场文书
建筑安全标语
2014/06/07 职场文书
2015年团队工作总结范文
2015/05/04 职场文书
幼儿园百日安全活动总结
2015/05/07 职场文书
婚礼长辈答谢词
2015/09/29 职场文书
百善孝为先:关于孝道的经典语录
2019/10/18 职场文书