您好,登錄后才能下訂單哦!
本文實例為大家分享了微信小程序實現下拉菜單切換展示的具體代碼,供大家參考,具體內容如下
效果圖:
wxml:
<!-- 下拉菜單 --> <view id="swiper-tab"> <view class="swiper-tab"> <view class="swiper-tab-list {{currentTab==0 ? 'on' : ''}}" data-current="0" bindtap="tabNav">{{first}} <i></i> </view> <view class="swiper-tab-list {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="tabNav">{{second}} <i></i> </view> <view class="swiper-tab-list {{currentTab==2 ? 'on' : ''}}" data-current="2" bindtap="tabNav">{{thirds}} <i></i> </view> <view class="swiper-tab-list {{currentTab==3 ? 'on' : ''}}" data-current="3" bindtap="tabNav">{{fours}} <i></i> </view> </view> <swiper current="{{currentTab}}" duration="1000" class="swiper-item" style='display:{{displays}}'> <swiper-item> <view> <view class='qiehuannier'> <view class="nav bc_white"> <view class="{{selected?'red':'default'}}" bindtap="selected">系統提醒</view> <view class="{{selected1?'red':'default'}}" bindtap="selected1">優惠活動</view> <view class="{{selected2?'red':'default'}}" bindtap="selected2">優惠活動</view> </view> <view id="rights"> <view class="{{selected?'show':'hidden'}}"> <view class="{{_sum == 1?'add_adress':'add_city'}}" data-num="1" bindtap="clickSum" data-name="北京">北京</view> <view class="{{_sum == 2?'add_adress':'add_city'}}" data-num="2" bindtap="clickSum" data-name="上海">上海</view> <view class="{{_sum == 3?'add_adress':'add_city'}}" data-num="3" bindtap="clickSum" data-name="上海">上海</view> <view class="{{_sum == 4?'add_adress':'add_city'}}" data-num="4" bindtap="clickSum" data-name="上海">上海</view> <view class="{{_sum == 5?'add_adress':'add_city'}}" data-num="5" bindtap="clickSum" data-name="上海">上海</view> <view class="{{_sum == 6?'add_adress':'add_city'}}" data-num="6" bindtap="clickSum" data-name="上海">上海</view> </view> <view class="{{selected1?'show':'hidden'}}"> <view class="{{_mum == 1?'add_adre':'add_city'}}" data-num="1" bindtap="clickMum" data-name="北京">北京</view> <view class="{{_mum == 2?'add_adre':'add_city'}}" data-num="2" bindtap="clickMum" data-name="上海">上海</view> <view class="{{_mum == 3?'add_adre':'add_city'}}" data-num="3" bindtap="clickMum" data-name="上海">上海</view> <view class="{{_mum == 4?'add_adre':'add_city'}}" data-num="4" bindtap="clickMum" data-name="上海">上海</view> </view> <view class="{{selected2?'show':'hidden'}}"> <view class="{{_cum == 1?'add_ad':'add_city'}}" data-num="1" bindtap="clickCum" data-name="北京">北京</view> <view class="{{_cum == 2?'add_ad':'add_city'}}" data-num="2" bindtap="clickCum" data-name="上海">上海</view> <view class="{{_cum == 3?'add_ad':'add_city'}}" data-num="3" bindtap="clickCum" data-name="上海">上海</view> </view> </view> </view> </view> </swiper-item> <swiper-item> <view class="location_bottom" hidden=""> <view class="{{_num == 1?'add_citying':'add_city'}}" data-num="1" bindtap="clickNum" data-name="北京">北京</view> <view class="{{_num == 2?'add_citying':'add_city'}}" data-num="2" bindtap="clickNum" data-name="上海">上海</view> <view class="{{_num == 3?'add_citying':'add_city'}}" data-num="3" bindtap="clickNum" data-name="上海">上海</view> <view class="{{_num == 4?'add_citying':'add_city'}}" data-num="4" bindtap="clickNum" data-name="上海">上海</view> <view class="{{_num == 5?'add_citying':'add_city'}}" data-num="5" bindtap="clickNum" data-name="上海">上海</view> <view class="{{_num == 6?'add_citying':'add_city'}}" data-num="6" bindtap="clickNum" data-name="上海">上海</view> <view class="{{_num == 7?'add_citying':'add_city'}}" data-num="7" bindtap="clickNum" data-name="上海">上海</view> </view> </swiper-item> <swiper-item> <view class="location_bottom" hidden=""> <view class="{{_res == 1?'add_House':'add_city'}}" data-num="1" bindtap="clickHouse" data-name="北京">北京</view> <view class="{{_res == 2?'add_House':'add_city'}}" data-num="2" bindtap="clickHouse" data-name="北京">上海</view> <view class="{{_res == 3?'add_House':'add_city'}}" data-num="3" bindtap="clickHouse" data-name="北京">上海</view> <view class="{{_res == 4?'add_House':'add_city'}}" data-num="4" bindtap="clickHouse" data-name="北京">上海</view> <view class="{{_res == 5?'add_House':'add_city'}}" data-num="5" bindtap="clickHouse" data-name="上海">上海</view> <view class="{{_res == 6?'add_House':'add_city'}}" data-num="6" bindtap="clickHouse" data-name="北京">上海</view> <view class="{{_res == 7?'add_House':'add_city'}}" data-num="7" bindtap="clickHouse" data-name="北京">上海</view> </view> </swiper-item> <swiper-item class="shaixuankuang"> <view class="shaixuan"> <span class="shuaixuantiaojian">面積</span> <block wx:for="{{array}}" wx:key="key"> <view class="chose-txt" data-id="{{index}}" bindtap="choseTxtColor" > <text class="chose-p">{{item.name}}</text> </view> </block> <view class="zidingyi"> <span>自定義面積:</span> <input class="front" type='text'></input> <p>-</p> <input class="back" type='text'></input> <button>設置</button> </view> </view> <view class="shaixuan"> <span class="shuaixuantiaojian">朝向</span> <block wx:for="{{chaoxiang}}" wx:key="key"> <view class="chose-txt" data-id="{{index}}" bindtap="chaoxiang" > <text class="chose-p">{{item.name}}</text> </view> </block> </view> <view class="shaixuan"> <span class="shuaixuantiaojian">樓層</span> <block wx:for="{{louceng}}" wx:key="key"> <view class="chose-txt" data-id="{{index}}" bindtap="louceng" > <text class="chose-p">{{item.name}}</text> </view> </block> </view> <view class="shaixuan"> <span class="shuaixuantiaojian">裝修</span> <block wx:for="{{zhuangxiu}}" wx:key="key"> <view class="chose-txt" data-id="{{index}}" bindtap="zhuangxiu" > <text class="chose-p">{{item.name}}</text> </view> </block> </view> <view class="shaixuan"> <span class="shuaixuantiaojian">建筑類別</span> <block wx:for="{{leibei}}" wx:key="key"> <view class="chose-txt" data-id="{{index}}" bindtap="leibei" > <text class="chose-p">{{item.name}}</text> </view> </block> </view> <view class="shaixuan"> <span class="shuaixuantiaojian">特色</span> <block wx:for="{{tese}}" wx:key="key"> <view class="chose-txt" data-id="{{index}}" bindtap="tese" > <text class="chose-p">{{item.name}}</text> </view> </block> </view> <view class="shaixuan"> <span class="shuaixuantiaojian">排序</span> <block wx:for="{{paixu}}" wx:key="key"> <view class="chose-txt" data-id="{{index}}" bindtap="paixu" > <text class="chose-p">{{item.name}}</text> </view> </block> </view> <view class="qingkong"> <span class="tianjian" bindtap="qingchu">清除條件</span> <p class="queren" bindtap="queren">確認</p> </view> </swiper-item> </swiper> </view> <view class="swiper-beijing" bindtap="hideNav" style='display:{{displays}}'></view>
wxss:
/*下拉菜單 */ /* 下面是tobar */ #swiper-tab { width: 100%; position: relative; } .swiper-tab { width: 100%; text-align: center; line-height: 80rpx; background-color: white; } .swiper-tab-list { font-size: 30rpx; display: inline-block; width: 25%; color: #666; border-bottom: 0rpx; position: relative; } .swiper-tab-list i { position: absolute; bottom: 30%; right: 14%; width: 0px; height: 0px; border: 5px solid #4e4e4e; border-top-color: #4e4e4e; border-bottom-color: transparent; border-left-color: transparent; border-right-color: transparent; } .on { color: #f63; border-bottom: 2rpx solid #f63; } .on i { border: 5px solid #f63; border-top-color: #f63; border-bottom-color: transparent; border-left-color: transparent; border-right-color: transparent; } .swiper-box { display: block; height: 100%; width: 100%; overflow: hidden; } .swiper-box view { text-align: center; } .swiper-item { background: #fff; width: 100%; height: 600rpx; display: none; position: absolute; top: 100rpx; z-index: 333333; left: 0; animation: displays 1s; } @keyframes displays { from { height: 0px; } to { height: 600rpx; } } .swiper-beijing { width: 100%; height: 200%; background: #000; opacity: 0.5; position: absolute; top: 130px; left: 0; display: none; z-index: 888; animation: 1s; } /* 下拉切換中的切換 */ .nav { width: 20%; height: 100rpx; float: left; flex-direction: row; } .default { width: 100%; line-height: 100rpx; text-align: center; color: #000; font-weight: bold; font-size: 28rpx; overflow: hidden; } .red { width: 100%; float: right; line-height: 100rpx; text-align: center; color: #f63; font-weight: bold; font-size: 28rpx; } .show { display: block; text-align: center; line-height: 200rpx; } .hidden { display: none; text-align: center; line-height: 200px; } #rights { width: 79%; float: right; border-left: solid 1px #eee; font-size: 15px; max-height: 600rpx; overflow-y: auto; overflow-x: hidden; } /*添加class改變樣式 */ .location_bottom { width: 100%; height: 400rpx; line-height: 140rpx; color: #d91f16; font-size: 28rpx; padding: 0 20rpx; align-items: center; } .add_city { width: 90%; display: block; height: 70rpx; line-height: 70rpx; border-bottom: 2rpx solid #ebebeb; color: #000; padding-left: 5%; } .add_adress { height: 70rpx; line-height: 70rpx; border-bottom: 2rpx solid #f63; color: #f63; } .add_adre { height: 70rpx; line-height: 70rpx; border-bottom: 2rpx solid #f63; color: #f63; } .add_citying { padding-left: 5%; height: 70rpx; line-height: 70rpx; border-bottom: 2rpx solid #f63; color: #f63; } .add_House { padding-left: 5%; height: 70rpx; line-height: 70rpx; border-bottom: 2rpx solid #f63; color: #f63; } /*// 篩選 */ .shaixuankuang { width: 100%; height: 600rpx; overflow: hidden; max-height: 600rpx; overflow-y: auto; overflow-x: hidden; } .shaixuan { width: 100%; height: auto; overflow: hidden; } .shuaixuantiaojian { width: 95%; padding: 0 2.5% 1%; display: block; font-size: 15px; color: #999; } .chose-txt { /* border-radius: 6px; */ font-size: 26rpx; width: 29%; margin: 4px 14rpx; float: left; } .chose-p { line-height: 25px; width: 100%; height: 25px; text-align: center; float: left; } .zidingyi { width: 95%; height: 50px; margin: 0 auto; overflow: hidden; } .zidingyi span { float: left; font-size: 16px; line-height: 40px; color: #666; margin-right: 15rpx; } .zidingyi input { width: 50px; padding-left: 10rpx; float: left; margin-top: 10rpx; font-size: 15px; line-height: 40px; border: solid 1px #eee; color: #666; } .zidingyi p { float: left; margin: 0 15rpx; line-height: 40px; color: #666; } .zidingyi button { height: 28px; float: left; margin: 10rpx 0 0 25rpx; font-size: 13px; line-height: 28px; /* border: solid 1px #eee; */ color: #666; } .qingkong { width: 95%; height: 40px; margin: 40rpx auto 30rpx; } .qingkong span { float: left; width: 35%; height: 33px; border: 1px solid #eee; box-sizing: border-box; color: #666; font-size: 14px; font-weight: 300; text-align: center; line-height: 33px; border-radius: 3px; } .qingkong p{ float: right; width: 55%; height: 35px; color: #fff; font-size: 14px; font-weight: 300; text-align: center; line-height: 35px; background: rgba(229,65,65,0.95); border-radius: 3px; }
js:
//banner Page({ data: { // 下拉菜單 first: '區域', second: '售價', thirds: '房型', fours: '篩選', _num: 0, _res: 0, // 篩選 array: [{ name: '單拍' }, { name: '親子套餐' }, { name: '活動套餐' }, { name: '女王套餐' }], chaoxiang: [{ name: '單拍' }, { name: '親子套餐' }, { name: '活動套餐' }, { name: '女王套餐' }], louceng: [{ name: '單拍' }, { name: '親子套餐' }, { name: '活動套餐' }, { name: '女王套餐' }], zhuangxiu: [{ name: '單拍' }, { name: '親子套餐' }, { name: '活動套餐' }, { name: '女王套餐' }], leibei: [{ name: '單拍' }, { name: '親子套餐' }, { name: '活動套餐' }, { name: '女王套餐' }], tese: [{ name: '單拍' }, { name: '親子套餐' }, { name: '活動套餐' }, { name: '女王套餐' }], paixu: [{ name: '單拍' }, { name: '親子套餐' }, { name: '活動套餐' }, { name: '女王套餐' }], one: 0, two: 0, third: 0, four: 0, five: 0, six: 0, seven: 0, }, isShow: true, currentTab: 0, // 下拉切換 hideNav: function () { this.setData({ displays: "none" }) }, // 區域 tabNav: function (e) { this.setData({ displays: "block" }) this.setData({ selected1: false, selected2: false, selected: true }) if (this.data.currentTab === e.target.dataset.current) { return false; } else { var showMode = e.target.dataset.current == 0; this.setData({ currentTab: e.target.dataset.current, isShow: showMode }) } }, // 下拉切換中的切換 // 區域 selected: function (e) { this.setData({ selected1: false, selected2: false, selected: true }) }, selected1: function (e) { this.setData({ selected: false, selected2: false, selected1: true }) }, selected2: function (e) { this.setData({ selected: false, selected1: false, selected2: true }) }, // 下拉菜單1 2 3 4 // 區域 clickSum: function (e) { console.log(e.target.dataset.num) this.setData({ _sum: e.target.dataset.num }) this.setData({ first: e.target.dataset.name }) this.setData({ displays: "none" }) var text = this.data.name console.log(text) }, onLoad: function (options) { }, clickMum: function (e) { console.log(e.target.dataset.num) this.setData({ _mum: e.target.dataset.num }) this.setData({ displays: "none" }) var text = this.data.name console.log(text) }, onLoad: function (options) { }, clickCum: function (e) { console.log(e.target.dataset.num) this.setData({ _cum: e.target.dataset.num }) this.setData({ displays: "none" }) var text = this.data.name console.log(text) }, onLoad: function (options) { }, // 售價 clickNum: function (e) { console.log(e.target.dataset.num) this.setData({ _num: e.target.dataset.num }) this.setData({ second: e.target.dataset.name }) this.setData({ displays: "none" }) var text = this.data.name console.log(text) }, onLoad: function (options) { }, // 房型 clickHouse: function (e) { console.log(e.target.dataset.num) this.setData({ _res: e.target.dataset.num }) this.setData({ thirds: e.target.dataset.name }) this.setData({ displays: "none" }) }, onLoad: function (options) { }, // 篩選 choseTxtColor: function (e) { var id = e.currentTarget.dataset.id; //獲取自定義的ID值 console.log(e.currentTarget.dataset.id) this.setData({ one: id }) }, chaoxiang: function (e) { var id = e.currentTarget.dataset.id; //獲取自定義的ID值 this.setData({ two: id }) }, louceng: function (e) { var id = e.currentTarget.dataset.id; //獲取自定義的ID值 this.setData({ third: id }) }, zhuangxiu: function (e) { var id = e.currentTarget.dataset.id; //獲取自定義的ID值 this.setData({ four: id }) }, leibei: function (e) { var id = e.currentTarget.dataset.id; //獲取自定義的ID值 this.setData({ five: id }) }, tese: function (e) { var id = e.currentTarget.dataset.id; //獲取自定義的ID值 this.setData({ six: id }) }, paixu: function (e) { var id = e.currentTarget.dataset.id; //獲取自定義的ID值 this.setData({ seven: id }) } })
為大家推薦現在關注度比較高的微信小程序教程一篇:《微信小程序開發教程》小編為大家精心整理的,希望喜歡。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。