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


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.getScript加载同域JS的代码
Feb 13 Javascript
ie与ff下的event事件使用介绍
Nov 25 Javascript
巧用replace将文字表情替换为图片
Apr 17 Javascript
javascript生成随机颜色示例代码
May 05 Javascript
jQuery制作效果超棒的手风琴折叠菜单
Apr 03 Javascript
jQuery实现带有上下控制按钮的简单多行滚屏效果代码
Sep 04 Javascript
整理JavaScript创建对象的八种方法
Nov 03 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
Jul 20 Javascript
原生js实现轮播图
Feb 27 Javascript
angularjs2中父子组件的数据传递的实例代码
Jul 05 Javascript
利用10行js代码实现上下滚动公告效果
Dec 08 Javascript
基于vue cli重构多页面脚手架过程详解
Jan 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
支持oicq头像的留言簿(二)
2006/10/09 PHP
PHP中,文件上传
2006/12/06 PHP
thinkphp实现多语言功能(语言包)
2014/03/04 PHP
PHP中基本HTTP认证技巧分析
2015/03/16 PHP
php简单socket服务器客户端代码实例
2015/05/18 PHP
PHP IDE phpstorm 常用快捷键
2015/05/18 PHP
PHP7原生MySQL数据库操作实现代码
2020/07/03 PHP
Javascript valueOf 使用方法
2008/12/28 Javascript
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
JavaScript的类型简单说明
2010/09/03 Javascript
jQuery添加/改变/移除CSS类及判断是否已经存在CSS
2014/08/20 Javascript
JS特效实现图片自动播放并可控的效果
2015/07/31 Javascript
详解JavaScript中的事件流和事件处理程序
2016/05/20 Javascript
JavaScript实现清空(重置)文件类型INPUT元素值的方法
2016/11/17 Javascript
详解vue-router基本使用
2017/04/18 Javascript
Angularjs中ng-repeat的简单实例
2017/08/25 Javascript
使用node.js对音视频文件加密的实例代码
2017/08/30 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
2017/10/10 Javascript
JavaScript中Object值合并方法详解
2017/12/22 Javascript
优化Vue项目编译文件大小的方法步骤
2019/05/27 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
2020/07/22 Javascript
一篇超完整的Vue新手入门指导教程
2020/11/18 Vue.js
在Python程序中进行文件读取和写入操作的教程
2015/04/28 Python
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
2016/05/17 Python
超简单的Python HTTP服务
2019/07/22 Python
详解python pandas 分组统计的方法
2019/07/30 Python
Python dict和defaultdict使用实例解析
2020/03/12 Python
Python 绘制可视化折线图
2020/07/22 Python
html5各种页面切换效果和模态对话框用法总结
2014/12/15 HTML / CSS
阿里旅行:飞猪
2017/01/05 全球购物
租房协议书
2014/09/12 职场文书
儿园租房协议书范本
2014/12/02 职场文书
优秀教师主要事迹材料
2015/11/04 职场文书
公司会议开幕词
2016/03/03 职场文书
详解CSS开发过程中的20个快速提升技巧
2021/05/21 HTML / CSS