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


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 getElementsByName()的用法说明
Jul 31 Javascript
JavaScript 学习笔记(十四) 正则表达式
Jan 22 Javascript
jQuery绑定事件不执行但alert后可以正常执行
Jun 03 Javascript
js实现简单随机抽奖的方法
Jan 27 Javascript
js实现ifram取父窗口URL地址的方法
Feb 09 Javascript
jQuery.prop() 使用详解
Jul 19 Javascript
jsp 自动编译机制详细介绍
Dec 01 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
Feb 22 Javascript
JS隐藏号码中间4位代码实例
Apr 09 Javascript
小程序登录/注册页面设计的实现代码
May 24 Javascript
jQuery实现简单QQ聊天框
Aug 27 jQuery
JavaScript中跨域问题的深入理解
Mar 04 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
索尼SONY ICF-SW7600GR电路分析与改良
2021/03/02 无线电
Yii2实现log输出到file及database的方法
2016/11/12 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
2018/05/31 PHP
Laravel手动返回错误码示例
2019/10/22 PHP
jQuery 表单验证插件formValidation实现个性化错误提示
2009/06/23 Javascript
Prototype PeriodicalExecuter对象 学习
2009/07/19 Javascript
基于Jquery 解决Ajax请求的页面 浏览器后退前进功能,页面刷新功能实效问题
2010/12/11 Javascript
js日历功能对象
2012/01/12 Javascript
php跨域调用json的例子
2013/11/13 Javascript
使用原生js实现页面蒙灰(mask)效果示例代码
2014/06/20 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
JS上传图片前实现图片预览效果的方法
2015/03/02 Javascript
JavaScript中的call方法和apply方法使用对比
2015/08/12 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
2015/08/24 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
JavaScript实现简洁的俄罗斯方块完整实例
2016/03/01 Javascript
Vue.js实现输入框绑定的实例代码
2017/08/24 Javascript
Angular实现点击按钮后在上方显示输入内容的方法
2017/12/27 Javascript
微信小程序下拉框功能的实例代码
2018/11/06 Javascript
layui表格数据复选框回显设置方法
2019/09/13 Javascript
jQuery事件模型默认行为执行顺序及trigger()与 triggerHandler()比较实例分析
2020/04/30 jQuery
对于Python编程中一些重用与缩减的建议
2015/04/14 Python
Python中import导入上一级目录模块及循环import问题的解决
2016/06/04 Python
python魔法方法-属性转换和类的表示详解
2016/07/22 Python
详解python里使用正则表达式的分组命名方式
2017/10/24 Python
selenium+python 去除启动的黑色cmd窗口方法
2018/05/22 Python
python3的数据类型及数据类型转换实例详解
2019/08/20 Python
Python中base64与xml取值结合问题
2019/12/22 Python
Python通过2种方法输出带颜色字体
2020/03/02 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
2021/02/20 Python
机电一体化专业应届生求职信
2013/11/27 职场文书
党员自我评价分享
2013/12/13 职场文书
公司优秀员工获奖感言
2014/08/14 职场文书
如何用JS实现网页瀑布流布局
2021/04/24 Javascript
Django+Nginx+uWSGI 定时任务的实现方法
2022/01/22 Python