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 相关文章推荐
非常不错的一个javascript 类
Nov 07 Javascript
HTML上传控件取消选择
Mar 06 Javascript
js动态往表格的td中添加图片并注册事件
Jun 12 Javascript
PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解
Oct 09 Javascript
js实现的在线调色板功能完整实例
Dec 21 Javascript
js常用DOM方法详解
Feb 04 Javascript
实例解析js中try、catch、finally的执行规则
Feb 24 Javascript
Zepto实现密码的隐藏/显示
Apr 07 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
Jun 02 jQuery
jquery 输入框查找关键字并提亮颜色的实例代码
Jan 23 jQuery
JQuery扩展对象方法操作示例
Aug 21 jQuery
微信小程序云开发之使用云函数
May 17 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
一条久听不愿放下的DIY森海MX500,三言两语话神奇
2021/03/02 无线电
改进的IP计数器
2006/10/09 PHP
自己前几天写的无限分类类
2007/02/14 PHP
php实现在服务器上创建目录的方法
2015/03/16 PHP
PHP进程通信基础之信号
2017/02/19 PHP
Laravel中9个不经常用的小技巧汇总
2019/04/16 PHP
PHP高并发和大流量解决方案整理
2021/03/09 PHP
电子商务网站上的常用的js放大镜效果
2011/12/08 Javascript
jQuery父级以及同级元素查找介绍
2013/09/04 Javascript
使用jquery+CSS实现控制打印样式
2014/12/31 Javascript
jQuery实现统计输入文字个数的方法
2015/03/11 Javascript
TypeScript具有的几个不同特质
2015/04/07 Javascript
JavaScript DOM操作表格及样式
2015/04/13 Javascript
移除AngularJS下URL中的#字符的方法
2015/06/19 Javascript
分享几种比较简单实用的JavaScript tabel切换
2015/12/31 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
2016/03/08 Javascript
JQuery在循环中绑定事件的问题详解
2016/06/02 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
微信小程序 window_x64环境搭建
2016/09/30 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
2017/02/13 Javascript
老生常谈Bootstrap媒体对象
2017/07/06 Javascript
vue watch自动检测数据变化实时渲染的方法
2018/01/16 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
layui点击按钮添加可编辑的一行方法
2018/08/15 Javascript
详解node登录接口之密码错误限制次数(含代码)
2019/10/25 Javascript
基于python编写的微博应用
2014/10/17 Python
Python按行读取文件的实现方法【小文件和大文件读取】
2016/09/19 Python
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
PyQt5主窗口动态加载Widget实例代码
2018/02/07 Python
Python Numpy:找到list中的np.nan值方法
2018/10/30 Python
一百行python代码将图片转成字符画
2021/02/19 Python
浅谈django 重载str 方法
2020/05/19 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
洲际酒店集团英国官网:IHG英国
2019/07/10 全球购物
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
2014/12/30 面试题
大学生工作推荐信范文
2013/12/02 职场文书