直播app開發,滑動式的頂部導航欄(左右橫向滑動)
直播app開發,滑動式的頂部導航欄(左右橫向滑動)效果實現的相關程式碼
<template> <view> <view v-bind:style="{ height: statusBarHeight }"></view> <!-- <view> <view :class="[tabindex==1?'navbtn':'navactive']" @click="switchtabar(1)">接單任務</view> <view :class="[tabindex==2?'navbtn':'navactive']" @click="switchtabar(2)">套餐任務</view> <view :class="[tabindex==3?'navbtn':'navactive']" @click="switchtabar(3)">接單記錄</view> </view> --> <view> <scroll-view id="tab-bar" scroll-x :scroll-left="scrollLeft"> <view v-for="(tab,index) in tabBars" :key="tab.id" :class="['swiper-tab-list',tabIndex==index ? 'active' : '']" :id="tab.id" :data-current="index" @click="tapTab(index)">{{tab.name}}</view> </scroll-view> <swiper :current="tabIndex" duration="300" @change="changeTab"> <swiper-item v-for="(tab,index1) in newsitems" :key="index1"> {{tab.name}} </swiper-item> </swiper> </view> </view> </template> <script> import { mapGetters, mapActions } from 'vuex'; import util from '../../static/js/util.js'; import regex from '../../static/js/regex.js'; export default { computed: { ...mapGetters(['statusBarHeight']) }, data() { return { pay: {}, status: '', paylists: {}, payname: uni.getStorageSync('paylist').pay_type_name, payid: uni.getStorageSync('paylist').id, tabindex:1, newsitems:[{ name: '關注', id: 'guanzhu' }, { name: '推薦', id: 'tuijian' }, { name: '體育', id: 'tiyu' }, { name: '熱點', id: 'redian' }, { name: '財經', id: 'caijing' }, { name: '娛樂', id: 'yule' }, { name: '軍事', id: 'junshi' }, { name: '歷史', id: 'lishi' }, { name: '本地', id: 'bendi' }], tabBars: [{ name: '關注', id: 'guanzhu' }, { name: '推薦', id: 'tuijian' }, { name: '體育', id: 'tiyu' }, { name: '熱點', id: 'redian' }, { name: '財經', id: 'caijing' }, { name: '娛樂', id: 'yule' }, { name: '軍事', id: 'junshi' }, { name: '歷史', id: 'lishi' }, { name: '本地', id: 'bendi' }], scrollLeft: 0, isClickChange: false, tabIndex: 0, }; }, onLoad: function(e) { this.pay = uni.getStorageSync('paylist'); }, methods: { async changeTab(e) { let index = e.detail.current; if (this.isClickChange) { this.tabIndex = index; this.isClickChange = false; return; } let tabBar = await this.getElSize("tab-bar"), tabBarScrollLeft = tabBar.scrollLeft; let width = 0; for (let i = 0; i < index; i++) { let result = await this.getElSize(this.tabBars[i].id); width += result.width; } let winWidth = uni.getSystemInfoSync().windowWidth, nowElement = await this.getElSize(this.tabBars[index].id), nowWidth = nowElement.width; if (width + nowWidth - tabBarScrollLeft > winWidth) { this.scrollLeft = width + nowWidth - winWidth; } if (width < tabBarScrollLeft) { this.scrollLeft = width; } this.isClickChange = false; this.tabIndex = index; //一旦訪問data就會出問題 }, async tapTab(index) { //點選tab-bar console.log(index); if (this.tabIndex === index) { return false; } else { let tabBar = await this.getElSize("tab-bar"), tabBarScrollLeft = tabBar.scrollLeft; //點選的時候記錄並設定scrollLeft this.scrollLeft = tabBarScrollLeft; this.isClickChange = true; this.tabIndex = index; } }, switchtabar(index){ this.tabindex=index; }, getElSize(id) { //得到元素的size return new Promise((res, rej) => { uni.createSelectorQuery().select('#' + id).fields({ size: true, scrollOffset: true }, (data) => { res(data); }).exec(); }); }, golist() { uni.navigateTo({ url: '/pages/c2c/selloutlist' }); }, goerwei() { uni.navigateTo({ url: '/pages/c2c/opay?pay=1' }); } } }; </script> <style scoped> .container { width: 100%; font-size: 28upx; background: #f2f2f2; color: #555; height: 100vh; overflow: scroll; position: absolute; font-weight: 400; font-family: '仿宋'; text-align: center; .navbar{ width: 100%; font-size: 28upx; background: #fff; color: #000; height: 90upx; .navbtn{ width:33%; float:left; line-height: 90upx; font-size:36px; border-bottom:5upx solid #E6BE7D; } .navactive{ width:33%; float:left; line-height: 90upx; font-size:28px; border-bottom:5upx solid #fff; color:#ccc; } } } </style>
以上就是直播app開發,滑動式的頂部導航欄(左右橫向滑動)效果實現的相關程式碼, 更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2869139/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 成品直播原始碼,頂部導航欄部分支援左右滑動原始碼
- 直播軟體app開發,左右自動滑動的輪播圖廣告APP
- 直播app原始碼,使用者首次登入時彈出左右滑動導航頁APP原始碼
- 構建動態互動式H5導航欄:滑動高亮、吸頂和錨點導航技巧詳解H5
- 直播平臺開發,自定義中間向兩邊滑動的滑動條
- uni-app動態修改頂部導航欄標題APP
- 直播系統app原始碼,自定義中間向兩邊滑動的滑動條APP原始碼
- 根據瀏覽器的滑動條 固定導航欄瀏覽器
- HTML橫向導航欄HTML
- 寫了個移動端可滑動(慣性滑動&回彈)Vue導航欄元件 ly-tabVue元件
- 直播軟體搭建,橫版自動滑動的輪播圖
- PtrClassicFrameLayout與viewpager橫向滑動衝突的問題Viewpager
- Android 禁止ViewPager左右滑動AndroidViewpager
- 僅2步實現 拜拜 漢堡導航欄效果~ 全新底部導航互動(滑動隱藏)
- 直播app開發,實現輪播圖上下自動滑動展示效果APP
- 直播平臺軟體開發,卡片式輪播圖,可左右滑動
- 透明層滑動跟隨導航選單
- RecyclerView 、ViewPager 左右滑動衝突Viewpager
- 成品直播原始碼推薦,TableView/CollectionView 滑動頂部效果最佳化原始碼View
- 直播app原始碼,標題欄隨頁面滑動之title移動定位效果APP原始碼
- 直播app開發搭建,載入Html片段監聽滑動到底部APPHTML
- uniapp---app滑動翻頁(上滑、下滑、左滑、右滑)APP
- web 移動端 橫向滾動的阻尼感很強,滑動不靈敏Web
- 一對一原始碼,滑塊驗證,滑塊左右滑動顯示的位置原始碼
- 直播系統原始碼,ViewPager載入大圖 左右滑動原始碼Viewpager
- jQuery滑動方式上下左右滾動效果jQuery
- jQuery實現吸頂動畫導航欄jQuery動畫
- 直播原始碼,實現內容列表的豎向滑動原始碼
- css橫向導航欄製作流程詳解CSS
- 直播系統開發,實現自適應手機狀態列高度的頂部導航欄
- 如何讓 fixed 定位的導航條可橫向滾動?
- 直播平臺原始碼,純JS實現左右滑動輪播圖原始碼JS
- 直播小程式原始碼,小程式頁面左右滑動如何解決原始碼
- 短影片app原始碼,日常開發之RecycleView滑動APP原始碼View
- 仿 “即刻APP” 滑動返回的效果APP
- 短視訊app製作,去除當前自帶的頂部導航欄APP
- 短視訊app開發,更改進度條的滑動速度APP
- 帶貨直播原始碼,確定ViewPager滑塊滑動方向原始碼Viewpager