Vue2.0点击切换类名改变样式的方法


Posted in Javascript onAugust 22, 2018

1、使用index

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>vue导航</title>
 <style media="screen">
 *{
 margin:0;
 padding: 0;
 }
 ul li{
 list-style: none;
 }
 .navul{
 margin:100px auto 20px;
 overflow: hidden;
 }
 .navul li{
 background-color: #5597b4;
 padding:18px 30px;
 float:left;
 color: #fff;
 font-size: 18px;
 cursor: pointer;
 }
 .active{
 background-color: #5597b4;
 }
 .home .home,.new .new,.contact .contact,.service .service{
 background-color: skyblue;
 }
 .checked{
  background: #eff4f7;
 }
 </style>
</head>
<body>
 <div id="nav">
  <ul>
   <li v-for="(relation,index) in relations" v-bind:id="relation.id" v-bind:id="relation.id" v-bind:class="{checked:index==nowIndex}" v-on:click="relationClick(index)">
    <i></i>
    <span class="">{{relation.text}}</span>
   </li>
  </ul>
 </div>
 
 <script src="js/vue.js" charset="utf-8"></script>
 <script type="text/javascript">
 var nav = new Vue({
  el:'#nav',
  data:{
  relations: [
   {text:'项目',id:'program'},
   {text:'人员',id:'person'},
   {text:'机构',id:'organization'},
   {text:'技术',id:'tech'},
   {text:'地区',id:'location'},
   {text:'国家',id:'country'}
  ],
  nowIndex:0
  // willShow:false
  },
  methods:{
  relationClick:function(index){
   
   this.nowIndex=index;
  }
  }
 });
 </script>
</body>
</html>

2、通过改变当前值切换类名

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>点击切换</title>
 <style>
 .glyphicon-minus{
  color:#08f;
 }
 .glyphicon-plus{
  color:purple;
 }
 
 </style>
 <script src="js/vue.js"></script>
</head>
<body>
 
 <div id="box">
  <div style="width:100px; height:100px; background: #6bacdf;" v-show="isDisplay"></div>
 
  <div class="form-group">
  <button class="btn"
    :class="[isShow?'btn-primary':'']"
    @mouseover="toggleShow()"
    @mouseout="toggleShow()"
    v-text="btnStyle"></button>
 
  </div>
 
  <div class="">
  <button class="btn"
    :class="[isTrue?'glyphicon-minus':'glyphicon-plus']"
     @click="toggleBar()">切换类名按钮</button>
 
  </div>
 </div>
 
 
<script type="text/javascript">
 
 
  new Vue({
  el:'#box',
  data:{
   isDisplay:false,
   isShow: false,
   isTrue:true,
   btnStyle: 'Default'
  },
  methods:{
   toggleShow: function() {
   this.isShow = !this.isShow;
   },
   toggleBar:function(){
   this.isTrue = !this.isTrue;
   }
  },
  watch: {
   isShow: function(newVal) {
   // console.log(newVal);
   newVal ? this.btnStyle = 'Primary' : this.btnStyle = 'Default'
   }
  },
  });
 
 
 </script>
</body>
</html>

拓展知识:vue点击改变样式的实例

data里

isActive:-1,

method里

checkedItem(index){
 this.isActive=index;
},

页面里

<div v-for="(item,index) in nameoptions" v-bind:class="{active:index==isActive}" @click="checkItem(index)>{{item.name}}</div>

以上这篇Vue2.0点击切换类名改变样式的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
使用onbeforeunload属性后的副作用
Mar 08 Javascript
Jquery实现图片左右自动滚动示例
Sep 25 Javascript
jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
May 08 Javascript
js的回调函数详解
Jan 05 Javascript
javascript编写实用的省市选择器
Feb 12 Javascript
基于jquery实现动态竖向柱状条特效
Feb 12 Javascript
angular.js指令中的controller、compile与link函数的不同之处
May 10 Javascript
Vuex实现计数器以及列表展示效果
Mar 10 Javascript
详解使用create-react-app快速构建React开发环境
May 16 Javascript
详解js中Array的方法及技巧
Sep 12 Javascript
ES6数组与对象的解构赋值详解
Jun 14 Javascript
Javascript中Microtask和Macrotask鲜为人知的知识点
Apr 02 Javascript
vuejs选中当前样式active的实例
Aug 22 #Javascript
详解如何在webpack中做预渲染降低首屏空白时间
Aug 22 #Javascript
基于vue中对鼠标划过事件的处理方式详解
Aug 22 #Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
Aug 22 #Javascript
JS封装的模仿qq右下角消息弹窗功能示例
Aug 22 #Javascript
当vue路由变化时,改变导航栏的样式方法
Aug 22 #Javascript
element-ui 设置菜单栏展开的方法
Aug 22 #Javascript
You might like
php下使用iconv需要注意的问题
2010/11/20 PHP
Windows7下的php环境配置教程
2015/02/28 PHP
PHP读取txt文本文件并分页显示的方法
2015/03/11 PHP
深入理解PHP中的count函数
2016/05/31 PHP
thinkPHP中配置的读取与C方法详解
2016/12/05 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
2016/12/19 PHP
获取任意Html元素与body之间的偏移距离 offsetTop、offsetLeft (For:IE5+ FF1 )[
2006/12/22 Javascript
告诉你什么是javascript的回调函数
2014/09/04 Javascript
JavaScript 正则表达式中global模式的特性
2016/02/25 Javascript
jQuery焦点图轮播效果实现方法
2016/12/19 Javascript
javascript中BOM基础知识总结
2017/02/14 Javascript
jquery操作select取值赋值与设置选中实例
2017/02/28 Javascript
在vue中实现点击选择框阻止弹出层消失的方法
2018/09/15 Javascript
详解@Vue/Cli 3 Invalid Host header 错误解决办法
2019/01/02 Javascript
js实现倒计时器自定义时间和暂停
2019/02/25 Javascript
bootstrap tooltips在 angularJS中的使用方法
2019/04/10 Javascript
小程序多图列表实现性能优化的方法步骤
2019/05/28 Javascript
vue开发移动端底部导航条功能
2020/04/08 Javascript
Vue实现简易购物车页面
2020/12/30 Vue.js
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
[03:12]2016完美“圣”典风云人物:单车专访
2016/12/02 DOTA
zbar解码二维码和条形码示例
2014/02/07 Python
python错误处理详解
2014/09/28 Python
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
2018/03/15 Python
在python中以相同顺序shuffle两个list的方法
2018/12/13 Python
python代码 FTP备份交换机配置脚本实例解析
2019/08/01 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
解决Keras 中加入lambda层无法正常载入模型问题
2020/06/16 Python
python中判断文件结束符的具体方法
2020/08/04 Python
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
Kate Spade美国官网:纽约新兴时尚品牌,以包包闻名于世
2017/11/09 全球购物
固特异美国在线轮胎店:Goodyear Tire
2019/02/23 全球购物
理想演讲稿范文
2014/05/21 职场文书
房屋鉴定委托书范本
2014/09/23 职场文书
公司租房协议书范本
2014/10/08 职场文书
见义勇为事迹材料
2014/12/24 职场文书