国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vue實現選項卡及選項卡切換效果

2019-11-19 13:57:49
字體:
來源:轉載
供稿:網友

這里不跟大家再去把Vue文檔上的一些指令用法或者基礎知識再復述一遍,既然是從入門到實戰,我直接將平時項目中需要實現的一些效果拆分成模塊。你們遇到了相關的指令或者不知道怎么用的方法自己對著文檔去查,再回過頭來看我的實現代碼。記住,通讀Vue文檔真的很重要,很重要!

這里的Vue以單文件的形式引入,另外代碼在實現上會一步步的進行優化,客官不要著急!

下面是一個樣式稍微丑陋,但功能OK的選項卡。

<!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選項卡">   <title>Vue實現選項卡</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> 

第一代選項卡的實現就先這樣子,后面再改進。上面是代碼,下面是效果圖!Vue我也只是剛剛學入門吧,做了幾個項目了,有什么問題我們可以一起探討,一起進步,歡迎私信我!

Vue實現選項卡切換,具體代碼如下所示:

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>選項卡</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":"選項一","show":true,"title":"1111"},   {"tab":"選項二","show":false,"title":"2222"},   {"tab":"選項三","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>

總結

以上所述是小編給大家介紹的vue實現選項卡及選項卡切換效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石柱| 曲松县| 靖远县| 黎川县| 新宁县| 调兵山市| 娄底市| 新昌县| 丰都县| 林周县| 木兰县| 贺州市| 岱山县| 建湖县| 商都县| 鄯善县| 普格县| 滕州市| 延庆县| 桃源县| 谢通门县| 乳山市| 石棉县| 淮安市| 徐汇区| 枞阳县| 黑山县| 山西省| 将乐县| 隆化县| 阿坝| 达州市| 科技| 凌云县| 大洼县| 和平县| 建德市| 山东省| 秦安县| 昌吉市| 台州市|