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


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 相关文章推荐
用Greasemonkey 脚本收藏网站会员信息到本地
Oct 26 Javascript
jQuery.clean使用方法及思路分析
Jan 07 Javascript
javascript arguments使用示例
Dec 16 Javascript
jQuery焦点图插件SaySlide
Dec 21 Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
Apr 01 Javascript
Javascript中indexOf()和lastIndexOf应用方法实例
Aug 24 Javascript
浅谈react+es6+webpack的基础配置
Aug 09 Javascript
基于JavaScript实现飘落星星特效
Aug 10 Javascript
dts文件中删除一个node或属性的操作方法
Aug 05 Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
May 21 Javascript
javascript头像上传代码实例
Sep 28 Javascript
JS端基于download.js实现图片、视频时直接下载而不是打开预览
May 09 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 正则 过滤html 的超链接
2009/06/02 PHP
PHP运行时强制显示出错信息的代码
2011/04/20 PHP
php中日期加减法运算实现代码
2011/12/08 PHP
php 利用array_slice函数获取随机数组或前几条数据
2015/09/30 PHP
Laravel学习教程之model validation的使用示例
2017/10/23 PHP
laravel多条件查询方法(and,or嵌套查询)
2019/10/09 PHP
WordPress免插件实现面包屑导航的示例代码
2020/08/20 PHP
jQuery UI 应用不同Theme的办法
2010/09/12 Javascript
JavaScript中的console.assert()函数介绍
2014/12/29 Javascript
jQuery中toggleClass()方法用法实例
2015/01/05 Javascript
js获取当前日期前七天的方法
2015/02/28 Javascript
js中for in语句的用法讲解
2015/04/24 Javascript
JavaScript实现将文本框的值插入指定位置的方法
2015/08/13 Javascript
javascript HTML5 canvas实现打砖块游戏
2020/06/18 Javascript
Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
2016/07/10 Javascript
jQuery.datatables.js插件用法及api实例详解
2016/10/28 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
2017/03/02 Javascript
js实现不提示直接关闭网页窗口
2017/03/30 Javascript
bootstrap精简教程_动力节点Java学院整理
2017/07/14 Javascript
移动端滑动切换组件封装 vue-swiper-router实例详解
2018/11/25 Javascript
[01:07:22]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG加赛
2014/05/26 DOTA
[51:10]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python面向对象之反射/自省机制实例分析
2018/08/24 Python
python生成n个元素的全组合方法
2018/11/13 Python
python进程和线程用法知识点总结
2019/05/28 Python
pytorch-RNN进行回归曲线预测方式
2020/01/14 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
基于css3实现漂亮便签样式
2013/03/18 HTML / CSS
电气专业应届生求职信
2013/11/01 职场文书
应届生英语教师求职信
2013/11/05 职场文书
销售实习自我鉴定
2013/12/07 职场文书
预备党员入党思想汇报
2014/01/04 职场文书
机械工程及其自动化专业求职信
2014/08/08 职场文书
大学生读书笔记大全
2015/07/01 职场文书
教师病假条范文
2015/08/17 职场文书
Android在Sqlite3中的应用及多线程使用数据库的建议
2022/04/24 Java/Android