在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 應用軟件教程 > 詳細頁面

微信小程序完成彈出菜單技巧

微信小程序完成彈出菜單技巧

更新時間:2025-09-27 文章作者:未知 信息來源:網絡 閱讀次數:

微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一...
微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一項門檻非常高的創新,經過將近兩年的發展,已經構造了新的小程序開發環境和開發者生態。
最近做項目需要這樣的需求,當用戶點擊標簽欄按鈕,向下彈出菜單,再次點擊,收回菜單。接下來通過本文給大家介紹微信小程序實現彈出菜單功能,感興趣的朋友一起看看吧

需求

點擊標簽欄按鈕,向下彈出菜單,再次點擊,收回菜單

微信小程序實現彈出菜單功能

要解決的問題

  1. 標簽欄三欄樣式,標簽欄固定不動;

  2. 點擊標簽欄彈出菜單,并且出現透明遮罩;

  3. 遮罩優先級在彈出框之下;

  4. 彈出框內標簽的設置;

  5. 滾動欄滾動條的隱藏

如何解決?

  1. 彈性布局,橫向,三者平分整欄;

  2. 狀態監聽點擊事件,數據控制hide或者show,通過rgba設置透明度

  3. 彈出框設置z-index;

  4. 彈性布局flex 橫向排列 超出后wrap 然后space-around控制間距

::-webkit-scrollbar {
width: 0;
height: 0;
color: transparent;
}

具體實現

wxml

<import src="../../templates/template" />
<view class="container {{isMask?'mask':''}}">
  <view class="header">
    <view class="filterCity {{status=='1' && isActive?'active':''}}" data-status='1' bindtap="changeStatus">
      <view class="city">城市篩選</view>
      <image src="{{status=='1' && isActive?'../../youzan-image/red-up.png':'../../youzan-image/down.png'}}" />
    </view>
    <view class="filterJob {{status=='2' && isActive?'active':''}}" data-status='2' bindtap="changeStatus">
      <view class="job">職位篩選</view>
      <image src="{{status=='2' && isActive?'../../youzan-image/red-up.png':'../../youzan-image/down.png'}}" />
    </view>
    <view class="filterOrder {{status=='3'&& isActive?'active':''}}" data-status='3' bindtap="changeStatus">
      <view class="order">排序方式</view>
      <image src="{{status=='3' && isActive?'../../youzan-image/red-up.png':'../../youzan-image/down.png'}}" />
    </view>
  </view>
  <block wx:if="{{isActive==true&&status=='1'}}">
    <view class="cityContainer">
      <block wx:for="{{city}}" wx:key="id" wx:for-index="index">
        <view class="city {{isSelect&&index==curIndex?'select':''}}" data-index="{{index}}" bindtap="select">{{item}}</view>
      </block>
    </view>
  </block>
  <block wx:if="{{isActive==true&&status=='2'}}">
    <scroll-view scroll-y="true" class="posContainer">
      <block wx:for="{{cur}}" data-index='index' wx:for-index='index' wx:key="index">
        <view class="title">{{item.title}}</view>
        <view class="poscontent">
          <view wx:for="{{item.types}}" wx:for-item="type" wx:key='id' wx:for-index="{{index}}" data-index="{{index}}">
            <view class="tag {{isSelect&&index==curIndex?'select':''}}" data-id="{{id}}" bindtap="multiSelect">{{type}}</view>
          </view>
        </view>
      </block>
      <view class="confirm">
        <button class="weui-btn" type="warn">確認</button>
      </view>
    </scroll-view>
  </block>
  <block wx:if="{{isActive==true&&status=='3'}}">
    <view class="orderContainer">
      <view class="block">智能排序</view>
      <view class="block">時間排序</view>
      <view class="block">薪資排序</view>
    </view>
  </block>
  <view class="listContainer" >
    <view wx:for="{{jobList}}" wx:key="index" data-index="{{index}}">
      <template is="list-item" data="{{...item}}" />
    </view>
  </view>
  <view class="search " bindtap="search">
    <image src="../../youzan-image/search.png" />
    <text>搜索</text>
  </view>
</view>

wxss

page {
  position: relative;
  width: 100%;
  height: 100vh;
}

.header {
  width: 100%;
  height: 80rpx;
  position: fixed;
  top: 0;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  text-align: center;
  color: #313131;
  font-size: 16px;
  border-bottom: 1rpx solid #eeeeee;
  z-index: 9999;
  background-color: #fff;
}

.filterCity {
  flex: 1;
  position: relative;
  height: 80rpx;
  line-height: 80rpx;
}

.filterJob {
  position: relative;
  flex: 1;
  height: 80rpx;
  line-height: 80rpx;
}

.filterOrder {
  position: relative;
  flex: 1;
  height: 80rpx;
  line-height: 80rpx;
}

.header image {
  position: absolute;
  right: 15rpx;
  top: 26rpx;
  width: 30rpx;
  height: 30rpx;
}

.active {
  color: #ef0001;
}

.mask {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 80rpx;
  background-color: rgba(15, 15, 26, 0.3);
}

.cityContainer {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: space-between;
  flex-wrap: wrap;
  width: 100%;
  height: 300rpx;
  z-index: 999;
  background-color: #fff;
  border-bottom: 1rpx solid #e9e9e9;
  padding-bottom: 130rpx;
}

.cityContainer .city {
  display: block;
  font-size: 15px;
  margin-top: 100rpx;
  width: 150rpx;
  height: 50rpx;
  line-height: 50rpx;
  text-align: center;
  border: 1rpx solid #e9e9e9;
  overflow: hidden;
}
.select {
  color: #ffffff;
  background-color: #ed0000;
}
.posContainer {
  height: 980rpx;
  width: 100%;
  background-color: #fff;
  /* overflow:auto; */
}
::-webkit-scrollbar {
  width: 0;
  height: 0;
  color: transparent;
}
.title {
  margin-top: 55rpx;
  font-size: 15px;
  margin-left: 28rpx;
}
.poscontent {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-top: -15rpx;
}
.tag {
  margin-left: 28rpx;
  margin-top: 23rpx;
  font-size: 13px;
  width: 150rpx;
  height: 50rpx;
  line-height: 50rpx;
  text-align: center;
  border: 1rpx solid #e9e9e9;
}
.confirm {
  width: 100%;
  height: 150rpx;
  border: 1rpx solid transparent;
  background-color: #fff;
}
.weui-btn {
  position: fixed;
  width: 95%;
  bottom: 52rpx;
  left: 50%;
  transform: translateX(-50%);
}
.orderContainer {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  background-color: #fff;
  width: 100%;
  height: 125rpx;
}
.block {
  font-size: 13px;
  width: 200rpx;
  height: 50rpx;
  line-height: 50rpx;
  text-align: center;
  border: 1rpx solid #e9e9e9;
}
.search {
  position: fixed;
  bottom: 80rpx;
  background-color: #fff;
  right: 25rpx;
  width: 150rpx;
  height: 75rpx;
  line-height: 75rpx;
  text-align: center;
  border-radius: 35rpx;
  box-shadow: 1rpx 1rpx 7rpx 7rpx #f5f5f5;
}
.search image {
  width: 30rpx;
  height: 30rpx;
}
.search text {
  font-size: 15px;
  padding-left: 9rpx;
  color: #666666;
}
.listContainer {
  width: 100%;
  height: 100%;
  margin-top: 80rpx;
}

js

import category from '../../api/employ'
import jobList from '../../api/detail'
Page({
 data: {
  curIndex: '',
  isActive: false,
  jobList:[],
  cur: [],
  job: [],
  isShow: true,
  status: 0,
  isMask: false,
  isSelect: false,
  city: ['全國', '杭州', '北京', '深圳', '上海', '廣州', '武漢', '重慶']
 },
 changeStatus(e) {
  let status = e.currentTarget.dataset.status;
  let cur = category;
  this.setData({
   isActive: !this.data.isActive,
   status: status,
   isMask: !this.data.isMask,
   cur: cur,
  })
 },
 select(e) {
  let curIndex = e.currentTarget.dataset.index;
  this.setData({
   isSelect: " curIndex == this.data.curIndex ? '!this.data.isActive' : 'true' ",
   isActive: false,
   isMask:false,
   curIndex: curIndex,
  })
 },
 multiSelect(e){
  let multiIndex=e.currentTarget.dataset.index;
  this.setData({
   isSelect:!this.data.isSelect,
   curIndex:multiIndex
  })
 },
 search(e) {
  wx.navigateTo({
   url: '../search/search',
  })
 },
 onLoad: function (e) {
  this.setData({
   jobList:jobList
  })
 },
 click:function (e) {
  let id =e.currentTarget.dataset.id;
  wx.navigateTo({
   url: `../detail/detail?id=${id}`,
  })
 }
})

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

微信小程序圖表插件(wx-charts)的介紹

微信小程序表單驗證錯誤提示效果

以上就是微信小程序實現彈出菜單功能的詳細內容,更多請關注php中文網其它相關文章!


小程序是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或者搜一下即可打開應用。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 日韩人妻精品一区二区三区| 天堂av在线中文| 免费国产黄色网址| 好色先生视频污| 午夜啪啪福利视频| 亚洲欧美一二三| 一级性生活视频| 欧美男女爱爱视频| 国产日产欧美视频| 黄色免费网址大全| 天天干天天玩天天操| 亚洲五月激情网| 男女裸体影院高潮| 日本三级免费网站| 免费在线观看的毛片| 国内自拍视频网| 中文字幕第三区| 国产一二三区在线播放| 各处沟厕大尺度偷拍女厕嘘嘘| 久久精品99国产| 手机版av在线| 欧美精品卡一卡二| 欧美日韩黄色一级片| 亚洲欧美自拍另类日韩| 欧美与动交zoz0z| 亚洲中文字幕无码专区| 少妇性l交大片| 精品日韩在线播放| 欧洲av无码放荡人妇网站| 欧美一级xxxx| av在线观看地址| 九九九九九九九九| 国产精品自拍合集| 亚洲欧美日韩一级| 精品欧美一区免费观看α√| 五月婷婷之婷婷| 免费在线观看视频a| 美女在线视频一区二区| 一本久道高清无码视频| 天天影视色综合| 成人黄色片视频| 91免费黄视频| 一级特黄妇女高潮| 色乱码一区二区三区在线| 99热亚洲精品| 性生活免费观看视频| 中文字幕天天干| 免费无码av片在线观看| 日本在线视频www色| 最新av免费在线观看| 国产熟女高潮视频| 欧美视频免费看欧美视频| 特黄特黄一级片| 蜜臀一区二区三区精品免费视频| 精品国产免费av| 黄色成人在线看| 国产精品久久久久7777| 免费成人进口网站| 波多野结衣在线免费观看| 午夜久久久精品| 黄色一级免费大片| 久久久精品麻豆| 香蕉视频网站入口| 黄色a级片免费| 男人透女人免费视频| 妞干网在线免费视频| 激情综合网婷婷| 国产小视频精品| 我看黄色一级片| 黄色a级三级三级三级| 久久人人爽av| 国产精品区在线| 裸体裸乳免费看| 亚洲精品国产suv一区88| 特大黑人娇小亚洲女mp4| 久青草视频在线播放| 97碰在线视频| 日韩精品一区二区三区不卡 | 日本道在线视频| 超薄肉色丝袜足j调教99| 日韩a级黄色片| 国产极品尤物在线| 色婷婷成人在线| 视频一区二区视频| 国产精品裸体瑜伽视频| 日韩欧美在线播放视频| 久久久精品高清| 国产欧美日韩网站| 91小视频网站| 国产激情在线看| 国产天堂在线播放| 99热这里只有精品7| 成人在线免费高清视频| 国产免费一区二区三区视频| 在线观看免费av网址| www.好吊操| 自拍偷拍一区二区三区四区| 日本大片免费看| 视频在线观看免费高清| 国产无限制自拍| 日韩精品视频网址| 日韩一级免费在线观看| 欧美日韩激情四射| 亚洲 欧美 日韩系列| 国产美女永久无遮挡| 日本免费色视频| 免费裸体美女网站| 99re6这里有精品热视频| 日本在线观看免费视频| 分分操这里只有精品| 日韩a一级欧美一级| 欧美少妇性生活视频| 野外做受又硬又粗又大视频√| 三级在线免费看| 四虎永久在线精品无码视频| 又大又硬又爽免费视频| 婷婷视频在线播放| 久久6免费视频| 久热精品在线播放| 日韩av片网站| 别急慢慢来1978如如2| 欧美色图另类小说| 人人妻人人添人人爽欧美一区| 男女啪啪免费观看| 美女在线免费视频| 性生活免费观看视频| 色黄视频免费看| 国产日韩欧美大片| 午夜探花在线观看| 日韩视频一二三| 亚洲啊啊啊啊啊| 欧美日韩福利在线| 欧美又粗又长又爽做受| 日本福利视频在线观看| 免费人成在线观看视频播放| 欧美一级爱爱视频| 秋霞无码一区二区| 国产精品视频一区二区三区四区五区| 黄色免费福利视频| 黄色一级大片在线观看| 日韩av播放器| 久久久久久久久久一区二区| 亚洲欧美日韩一二三区| 最新av网址在线观看| 国产日韩欧美精品在线观看| 亚洲中文字幕无码av永久| 人妻熟女一二三区夜夜爱| 久久精品香蕉视频| 天天色天天综合网| 男人添女人下部视频免费| 激情五月宗合网| 国产精品区在线| 成人区一区二区| 国产免费人做人爱午夜视频| 拔插拔插华人永久免费| 久久这里只有精品18| 日韩一级免费在线观看| 99久久99精品| 91视频 -- 69xx| 欧美一级特黄aaa| 日批视频在线免费看| 手机av在线网站| 亚洲 欧美 日韩 国产综合 在线| 美女黄色片视频| 91黄色在线看| 欧美一级xxxx| 成年人免费在线播放| 日韩欧美中文视频| 精品国产成人av在线免| 久久久天堂国产精品| 簧片在线免费看| www.爱色av.com| 日韩精品一区二区在线视频| 国产精品igao| 少妇高潮喷水在线观看| av磁力番号网| 亚洲图色中文字幕| 一本色道无码道dvd在线观看| 中文字幕超清在线免费观看| 黄色av免费在线播放| 小泽玛利亚av在线| 不卡中文字幕在线| 国模私拍视频在线观看| 成年人在线看片| 蜜桃传媒一区二区三区| 欧美精品在欧美一区二区| 日韩欧美理论片| 在线免费视频一区| 黑人粗进入欧美aaaaa| 日韩av资源在线| 国产在线观看福利| 日本福利视频在线| 男人日女人逼逼| 国产免费黄色av| 国产69精品久久久久久久| 少妇久久久久久被弄到高潮| 精品国产无码在线| 天堂а√在线中文在线| 2021国产视频| 青青青在线视频播放|