成品直播原始碼,頂部導航欄部分支援左右滑動
成品直播原始碼,頂部導航欄部分支援左右滑動實現的相關程式碼
<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>
以上就是 成品直播原始碼,頂部導航欄部分支援左右滑動實現的相關程式碼,更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2886685/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 直播app開發,滑動式的頂部導航欄(左右橫向滑動)APP
- 成品直播原始碼推薦,TableView/CollectionView 滑動頂部效果最佳化原始碼View
- 成品直播原始碼推薦,uni底部導航欄隱藏單個原始碼
- 直播app原始碼,使用者首次登入時彈出左右滑動導航頁APP原始碼
- 成品直播原始碼,點選滑動切換效果原始碼
- 短視訊直播原始碼,實現頂部導航欄背景圖片漸隱漸現效果原始碼
- 影片直播網站原始碼,flutter 頂部滾動欄頁面網站原始碼Flutter
- 成品直播原始碼推薦,去掉導航條和tabbar線條原始碼tabBar
- uni-app動態修改頂部導航欄標題APP
- 直播小程式原始碼,配置tabbar底部導航欄原始碼tabBar
- 直播系統原始碼,ViewPager載入大圖 左右滑動原始碼Viewpager
- CSS_導航欄+固定浮動的回到頂部按鈕CSS
- 直播平臺原始碼,css移動端設定底部導航欄原始碼CSS
- 當頂部導航欄遮擋住連結物件部分內容怎麼辦物件
- 粘性控制元件,滑動停留StickLayout(導航欄滑動停留)控制元件
- 構建動態互動式H5導航欄:滑動高亮、吸頂和錨點導航技巧詳解H5
- 手機直播原始碼,導航欄側滑手勢啟用/禁用棄用正確姿勢原始碼
- flutter 自定義tab導航-頂部導航-底部導航Flutter
- 直播平臺原始碼,純JS實現左右滑動輪播圖原始碼JS
- 直播小程式原始碼,小程式頁面左右滑動如何解決原始碼
- 直播app原始碼,全屏並且去掉底部虛擬導航欄APP原始碼
- weui+swiper 滑動底部導航欄切換UI
- 短視訊平臺原始碼,介面支援上下、左右的任意滑動原始碼
- 直播系統平臺原始碼隱藏虛擬導航欄,禁止下拉通知欄,禁止上滑出虛擬導航欄原始碼
- 拖動滾動條一定距離可以固定於頂部的導航欄
- 線上直播原始碼,自定義導航欄並固定居中對齊原始碼
- 直播網站原始碼,寫一個android底部導航欄框架網站原始碼Android框架
- 成品直播原始碼推薦,Android 禁止下拉選單欄原始碼Android
- 根據瀏覽器的滑動條 固定導航欄瀏覽器
- 直播系統開發,實現自適應手機狀態列高度的頂部導航欄
- 網頁頂部導航選單程式碼例項網頁
- jQuery實現吸頂動畫導航欄jQuery動畫
- 成品直播原始碼,實現在平臺內部的搜尋原始碼
- 手機直播原始碼,突出底部導航欄中間按鈕的樣式原始碼
- 直播app原始碼,狀態列和導航欄設定成透明狀態APP原始碼
- 直播系統程式碼,自行更改導航欄樣式
- 頭部導航欄也是動態的,板塊裡面的內容根據頭部導航欄動態展現資料
- 僅2步實現 拜拜 漢堡導航欄效果~ 全新底部導航互動(滑動隱藏)