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


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 相关文章推荐
帮助避免错误的Javascript陷阱清单
May 31 Javascript
jquery滚动条插件jScrollPane的使用介绍
Nov 08 Javascript
js函数名与form表单元素同名冲突的问题
Mar 07 Javascript
详解JavaScript基于面向对象之创建对象(1)
Dec 10 Javascript
JavaScript统计字符串中每个字符出现次数完整实例
Jan 28 Javascript
JavaScript数组的定义及数字操作技巧
Jun 06 Javascript
js检测离开或刷新页面时表单数据是否更改的方法
Aug 02 Javascript
详解在 Angular 项目中添加 clean-blog 模板
Jul 04 Javascript
element ui 对话框el-dialog关闭事件详解
Feb 26 Javascript
vue实现的下拉框功能示例
Jan 29 Javascript
vue中利用simplemde实现markdown编辑器(增加图片上传功能)
Apr 29 Javascript
javascript移动端 电子书 翻页效果实现代码
Sep 07 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中Cannot send session cache limiter 的问题的方法
2007/04/27 PHP
php 动态添加记录
2009/03/10 PHP
PHP SESSION机制的理解与实例
2019/03/22 PHP
js 判断控件获得焦点的示例代码
2014/03/04 Javascript
JavaScript监听和禁用浏览器回车事件实例
2015/01/31 Javascript
AngularJS前端页面操作之用户修改密码功能示例
2017/03/27 Javascript
微信小程序删除处理详解
2017/08/16 Javascript
nodejs实现OAuth2.0授权服务认证
2017/12/27 NodeJs
解决vue+element 键盘回车事件导致页面刷新的问题
2018/08/25 Javascript
基于Vue的商品主图放大镜方案详解
2019/09/19 Javascript
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
2019/09/23 Javascript
vue中进行微博分享的实例讲解
2019/10/14 Javascript
jQuery实现数字华容道小游戏(实例代码)
2020/01/16 jQuery
详解Vue的异步更新实现原理
2020/12/22 Vue.js
Python通过websocket与js客户端通信示例分析
2014/06/25 Python
Python multiprocessing模块中的Pipe管道使用实例
2015/04/11 Python
在Python程序中进行文件读取和写入操作的教程
2015/04/28 Python
python调用支付宝支付接口流程
2019/08/15 Python
Python内置函数locals和globals对比
2020/04/28 Python
如何在VSCode下使用Jupyter的教程详解
2020/07/13 Python
Python -m参数原理及使用方法解析
2020/08/21 Python
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
编写html5时调试发现脚本php等网页js、css等失效
2013/12/31 HTML / CSS
美国女孩服装购物网站:Justice
2017/03/04 全球购物
Kangol帽子官网:坎戈尔袋鼠
2018/09/26 全球购物
C#笔试题和英文面试题
2013/02/07 面试题
营销主管自我评价怎么写
2013/09/19 职场文书
教学实验楼管理制度
2014/02/01 职场文书
大学四年个人自我小结
2014/03/05 职场文书
教师中国梦演讲稿
2014/04/23 职场文书
四风问题个人自查剖析材料思想汇报
2014/09/21 职场文书
企业法人任命书
2015/09/21 职场文书
大学生社会服务心得体会
2016/01/22 职场文书
导游词之沈阳清昭陵
2019/12/28 职场文书
写一个Python脚本自动爬取Bilibili小视频
2021/04/24 Python
服务器nginx权限被拒绝解决案例
2022/09/23 Servers