vuejs选中当前样式active的实例

时间:2021-05-26

如下所示:

<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; 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的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章