vue實(shí)現(xiàn)選項(xiàng)卡及選項(xiàng)卡切換效果
這里不跟大家再去把Vue文檔上的一些指令用法或者基礎(chǔ)知識再復(fù)述一遍,既然是從入門到實(shí)戰(zhàn),我直接將平時(shí)項(xiàng)目中需要實(shí)現(xiàn)的一些效果拆分成模塊。你們遇到了相關(guān)的指令或者不知道怎么用的方法自己對著文檔去查,再回過頭來看我的實(shí)現(xiàn)代碼。記住,通讀Vue文檔真的很重要,很重要!
這里的Vue以單文件的形式引入,另外代碼在實(shí)現(xiàn)上會一步步的進(jìn)行優(yōu)化,客官不要著急!
下面是一個(gè)樣式稍微丑陋,但功能OK的選項(xiàng)卡。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"> <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=no,width=device-width"> <meta name="apple-mobile-web-app-title" content="Vue選項(xiàng)卡"> <title>Vue實(shí)現(xiàn)選項(xiàng)卡</title> <script type="text/javascript" src="../js/vue.js"></script> </head> <style> * { padding: 0; margin: 0; } .box { width: 800px; height: 200px; margin: 0 auto; border: 1px solid #000; } .tabs li { float: left; margin-right: 8px; list-style: none; } .tabs .tab-link { display: block; width: 250px; height: 49px; text-align: center; line-height: 49px; background-color: #5597B4; color: #fff; text-decoration: none; } .tabs .tab-link.active { height: 47px; border-bottom: 2px solid #E35885; transition: .3s; } .cards { float: left; } .cards .tab-card { display: none; } .clearfix:after { content: ""; display: block; height: 0; clear: both; } .clearfix { zoom: 1; } </style> <body> <div id="app" class="box"> <ul class="tabs clearfix"> <li v-for="(tab,index) in tabsName"> <a href="#" rel="external nofollow" class="tab-link" @click="tabsSwitch(index)" v-bind:class="{active:tab.isActive}">{{tab.name}}</a> </li> </ul> <div class="cards"> <div class="tab-card" style="display: block;">這里是HTML教程</div> <div class="tab-card">歡迎來到CSS模塊</div> <div class="tab-card">嗨,這里是Vue</div> </div> </div> </body> <script> var app = new Vue({ el: "#app", data: { tabsName: [{ name: "HTML", isActive: true }, { name: "CSS", isActive: false }, { name: "Vue", isActive: false }], active: false }, methods: { tabsSwitch: function(tabIndex) { var tabCardCollection = document.querySelectorAll(".tab-card"), len = tabCardCollection.length; for(var i = 0; i < len; i++) { tabCardCollection[i].style.display = "none"; this.tabsName[i].isActive = false; } this.tabsName[tabIndex].isActive = true; tabCardCollection[tabIndex].style.display = "block"; } } }) </script> </html>
第一代選項(xiàng)卡的實(shí)現(xiàn)就先這樣子,后面再改進(jìn)。上面是代碼,下面是效果圖!Vue我也只是剛剛學(xué)入門吧,做了幾個(gè)項(xiàng)目了,有什么問題我們可以一起探討,一起進(jìn)步,歡迎私信我!
Vue實(shí)現(xiàn)選項(xiàng)卡切換,具體代碼如下所示:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>選項(xiàng)卡</title> <script src="../js/vue.js"></script> <style> li{ list-style: none; float: left; margin-right: 20px; } </style> </head> <body> <div class="app"> <ul> <li v-for="(item,index) in list" @click="tab(index)">{{item.tab}} <div v-show="item.show"> {{item.title}} </div> </li> </ul> </div> <script> let obj=[ {"tab":"選項(xiàng)一","show":true,"title":"1111"}, {"tab":"選項(xiàng)二","show":false,"title":"2222"}, {"tab":"選項(xiàng)三","show":false,"title":"3333"} ]; var vm=new Vue({ el:".app", data:{ list:obj }, methods:{ tab:function(index){ for(var i=0;i<this.list.length;i++){ this.list[i].show=false; if(i==index){ this.list[index].show=true; } } } } }) </script> </body> </html>
總結(jié)
以上所述是小編給大家介紹的vue實(shí)現(xiàn)選項(xiàng)卡及選項(xiàng)卡切換效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- 使用vue.js寫一個(gè)tab選項(xiàng)卡效果
- Vue.js組件tabs實(shí)現(xiàn)選項(xiàng)卡切換效果
- vue插件tab選項(xiàng)卡使用小結(jié)
- Vue.js組件tab實(shí)現(xiàn)選項(xiàng)卡切換
- vue中選項(xiàng)卡點(diǎn)擊切換且能滑動切換功能的實(shí)現(xiàn)代碼
- vuejs實(shí)現(xiàn)標(biāo)簽選項(xiàng)卡動態(tài)更改css樣式的方法
- Vue.js tab實(shí)現(xiàn)選項(xiàng)卡切換
- vue動態(tài)組件實(shí)現(xiàn)選項(xiàng)卡切換效果
- vue中用動態(tài)組件實(shí)現(xiàn)選項(xiàng)卡切換效果
- vue實(shí)現(xiàn)簡易選項(xiàng)卡功能
相關(guān)文章
VueAwesomeSwiper在VUE中的使用以及遇到的一些問題
這篇文章主要介紹了VueAwesomeSwiper在VUE中的使用以及遇到的一些問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-01-01vue利用better-scroll實(shí)現(xiàn)輪播圖與頁面滾動詳解
在我們?nèi)粘5捻?xiàng)目開發(fā)中,處理滾動和輪播圖是再常見不過的需求了,下面這篇文章主要給大家介紹了關(guān)于vue利用better-scroll實(shí)現(xiàn)輪播圖與頁面滾動的相關(guān)資料,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面來一起看看吧。2017-10-10ant design vue 清空upload組件圖片緩存的問題
這篇文章主要介紹了ant design vue 清空upload組件圖片緩存的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10vue打包后,用后端接口報(bào)錯(cuò)304、404問題
這篇文章主要介紹了vue打包后,用后端接口報(bào)錯(cuò)304、404問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05vue項(xiàng)目中使用window的onresize事件方式
這篇文章主要介紹了vue項(xiàng)目中使用window的onresize事件方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08vue依賴包報(bào)錯(cuò)問題eslint\lib\cli-engine\cli-engine.js:421
這篇文章主要介紹了vue依賴包報(bào)錯(cuò)問題eslint\lib\cli-engine\cli-engine.js:421,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08