首页 > 编程 > JavaScript > 正文

vuejs选中当前样式active的实例

2019-11-19 13:11:12
字体:
来源:转载
供稿:网友

如下所示:

<template> <div>  <table id="longzhoufeng" class="table table-striped table-bordered" width="100%" style="border: 0 solid #fff;margin-top: 10px;">   <thead class="thead-bottom-line">   <tr>    <th class="sorting-title">名称1</th>    <th class="sorting-title">名称2</th>    <th class="sorting-title">名称3</th>    <th class="sorting-title">名称4</th>   </tr>   </thead>   <tbody>   <tr @click="activeHover(index)" class="list-table-hover" v-for="(item,index) in items" >    <th class="sorting-title">{{item.text}}</th>    <th class="sorting-title">{{item.text}}</th>    <th class="sorting-title">{{item.text}}</th>    <th class="sorting-title">{{item.text}}</th>   </tr>   </tbody>  </table> </div></template>

vue js代码

<script> export default {  data:function() {   return{    items: [     { text: '巴士' },     { text: '快车' },     { text: '专车' },     { text: '顺风车' },     { text: '出租车' },     { text: '代驾' }    ],   }  },  methods:{   activeHover:function(index){    var arrLi=[];    var aLi=$("table tbody tr")    for(var i=0;i<aLi.length;i++){     arrLi.push(aLi[i])    }    for( var i=0; i<arrLi.length; i++ ){     if(arrLi[i] !=this){      $(arrLi[i]).removeClass("active")     }     if(!$(arrLi[i]).hasClass("active")){      $(arrLi[index]).addClass("active")     }else{      $(arrLi[i]).removeClass("active")     }    }   },  } }</script>

CSS代码

<style scoped> .abc{  background-color: #2aabd2; } table>thead.thead-bottom-line{  border-bottom: 1px solid #eeeeef;  border-top: 1px solid #eeeeef;  background-color: #fff; } table>thead>tr>th.sorting-title{  height: 35px;  line-height: 35px;  border: 0px solid #000000;  font-weight: bold } table>tbody>tr.list-table-hover{  height: 30px;  line-height: 30px;  background-color: #fff !important;  border-top: 0px solid #eeeeef;  border-left: 0px solid #eeeeef;  border-right: 0px solid #eeeeef;  border-bottom: 1px solid #eeeeef; } table>tbody>tr:hover{  background-color: rgba(130, 219, 201, .5)!important; } table>tbody>tr.list-table-hover:hover{  height: 30px;  line-height: 20px;  background-color: rgba(130, 219, 201, .5)!important;  border-top: 0px solid #eeeeef;  border-left: 0px solid #eeeeef;  border-right: 0px solid #eeeeef;  border-bottom: 1px solid #eeeeef; } table>tbody>tr.list-table-hover.active{  background-color: rgba(130, 219, 201, .5)!important; } table>tbody>tr>td.sorting_content{  height: 30px;  line-height: 20px;  /*background-color: #fff;*/  border-top: 0px solid #eeeeef;  border-left: 0px solid #eeeeef;  border-right: 0px solid #eeeeef;  border-bottom: 1px solid #eeeeef; } table>tbody>tr>td.sorting_content:last-child{  height: 30px;  line-height: 30px;  min-width: 120px;  border-top: 0px solid #eeeeef;  border-left: 0px solid #eeeeef;  border-right: 0px solid #eeeeef;  border-bottom: 1px solid #eeeeef; }</style>

知识拓展:vue实现点击选中,其他的不选中方法

如下所示:

<!DOCTYPE html><html><head> <meta charset="UTF-8"> <meta name="viewport"   content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>选中效果</title> <script src="../static/js/vue.min.js"></script> <style>  ul li.active{   color: green;  } </style></head><body><div id="app"> <ul>  <li v-for="items in navList" :class="{active:items.isActive}" @click="activeFun(items)">   <a>    {{items.text}}   </a>  </li> </ul></div><script> new Vue({  el: '#app',  data: {   navList: [    {text: '首页', isActive: true},    {text: '简介', isActive: false},    {text: '活动', isActive: false},    {text: '联系', isActive: false}   ]  },  methods: {   activeFun: function(data){    this.navList.forEach(function(obj){     obj.isActive = false;    });    data.isActive = !data.isActive;   }  } });</script></body></html>

以上这篇vuejs选中当前样式active的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表