Vue.js实现按钮的动态绑定效果及实现代码


Posted in Javascript onAugust 21, 2017

实现效果:

Vue.js实现按钮的动态绑定效果及实现代码

实现代码以及注释:

<!DOCTYPE html>
<html>
<head>
  <title>按钮绑定</title>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style type="text/css">
    *{
      margin: 0;
      padding: 0;
    }
    body{
      font: 15px/1.3 'Open Sans', sans-serif;
      color: #5e5b64;
      text-align: center;
    }
    a, a:visited{
      outline: none;
      color: #3b9dc1;
    }
    a:hover{
      text-decoration: none;
    }
    section, footer, header, aside, nav{
      display: block;
    }
    /* 菜单栏 */
    nav{
      display: inline-block;
      margin: 60px auto 45px;
      background-color: #5597b4;
      box-shadow: 0 1px 1px #ccc;
      border-radius: 2px;
    }
    nav a{
      display: inline-block;
      padding: 18px 30px;
      color: #fff !important;
      font-weight: bold;
      font-size: 16px;
      text-decoration: none !important;
      line-height: 1;
      text-transform: uppercase;
      background-color: transparent;
      -webkit-transition:background-color 0.25s;
      z-index: moz-transition:background-color 0.25s;
      transition:background-color 0.25s;
    }
    nav a:first-child{
      border-radius:2px 0 0 2px;
    }
    nav a:last-child{
      border-radius:0 2px 2px 0;
    }
    nav.home .home,
    nav.projects .projects,
    nav.services .services,
    nav.contact .contact{
      background-color:#e35885;
    }
    p{
      font-size:22px;
      font-weight:bold;
      color:#7d9098;
    }
    p b{
      color:#ffffff;
      display:inline-block;
      padding:5px 10px;
      background-color:#c4d7e0;
      border-radius:2px;
      text-transform:uppercase;
      font-size:18px;
    }
  </style>
</head>
<body>
<div id="main">
  <!--导航栏菜单会得到处于active的变量的值作为一个class -->
  <!-- 为了防止当我们点击链接时页面发生跳转,我们使用prevent优化 -->
  <nav v-bind:class="active" v-on:click.prevent>
    <!-- 当一个菜单中的链接被点击,我们调用定义在javaScript vue中的makeActive方法 -->
    <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="home" v-on:click="makeActive('home')">Home</a>
    <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="projects" v-on:click="makeActive('projects')">Projects</a>
    <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="services" v-on:click="makeActive('services')">Services</a>
    <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="contact" v-on:click="makeActive('contact')">Contact</a>
  </nav>
  <!-- mustache表达式将被active的值替换,它将发生任何变化它都将会自动更新-->
  <p>YOU SELECTED <b>{{active}}</b></p>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.0.5/vue.min.js"></script>
<script type="text/javascript">
  // 创建一个Vue示例,并且传递一个可选对象
  var demo = new Vue({
    // 一个DOM元素表示我们的view模型
    el: '#main',
    // 定义属性值,给定初始化值
    data: {
      active: 'home'
    },
    // 我们需要使用到的函数
    methods: {
      makeActive: function(item){
        // 当一个model发生变化,view会自动更新
        this.active = item;
      }
    }
  });
</script>
</body>
</html>
Javascript 相关文章推荐
自用js开发框架小成 学习js的朋友可以看看
Nov 16 Javascript
Javascript代码在页面加载时的执行顺序介绍
May 03 Javascript
对frameset、frame、iframe的js操作示例代码
Aug 16 Javascript
jquery与js函数冲突的两种解决方法
Sep 09 Javascript
详谈js使用in和hasOwnProperty获取对象属性的区别
Apr 25 Javascript
详谈js中标准for循环与foreach(for in)的区别
Nov 02 Javascript
JS模拟实现哈希表及应用详解
May 04 Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
Oct 18 Javascript
javascript实现拖拽碰撞检测
Mar 12 Javascript
Vue实现简单的拖拽效果
Aug 25 Javascript
Nuxt的路由配置和参数传递方式
Nov 06 Javascript
原生JS实现拖拽效果
Dec 04 Javascript
Node.js简单入门前传
Aug 21 #Javascript
详解基于webpack2.x的vue2.x的多页面站点
Aug 21 #Javascript
Vue中的ref作用详解(实现DOM的联动操作)
Aug 21 #Javascript
jquery动态赋值id与动态取id方法示例
Aug 21 #jQuery
详解webpack的配置文件entry与output
Aug 21 #Javascript
jQuery模拟爆炸倒计时功能实例代码
Aug 21 #jQuery
原生JS 购物车及购物页面的cookie使用方法
Aug 21 #Javascript
You might like
星际RPG字典
2020/03/04 星际争霸
PHP的FTP学习(二)[转自奥索]
2006/10/09 PHP
PHP session有效期session.gc_maxlifetime
2011/04/20 PHP
CodeIgniter中使用Smarty3基本配置
2015/06/29 PHP
PHP xpath()函数讲解
2019/02/11 PHP
javascript定时保存表单数据的代码
2011/03/17 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
jquery实现带复选框的表格行选中删除时高亮显示
2013/08/01 Javascript
json数据与字符串的相互转化示例
2013/09/18 Javascript
JavaScript中数组的合并以及排序实现示例
2015/10/24 Javascript
jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)
2016/11/18 Javascript
easyui简介_动力节点Java学院整理
2017/07/14 Javascript
微信小程序实现星级评价效果
2018/12/28 Javascript
vue无限轮播插件代码实例
2019/05/10 Javascript
Nodejs封装类似express框架的路由实例详解
2020/01/05 NodeJs
公众号SVG动画交互实战代码
2020/05/31 Javascript
原生JavaScript实现弹幕组件的示例代码
2020/10/12 Javascript
详解Python 装饰器执行顺序迷思
2018/08/08 Python
pandas 透视表中文字段排序方法
2018/11/16 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
python算法与数据结构之冒泡排序实例详解
2019/06/22 Python
在Python中append以及extend返回None的例子
2019/07/20 Python
python字典的常用方法总结
2019/07/31 Python
opencv3/C++实现视频背景去除建模(BSM)
2019/12/11 Python
10个示例带你掌握python中的元组
2020/11/23 Python
python实现scrapy爬虫每天定时抓取数据的示例代码
2021/01/27 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
2021/02/07 Python
HTML5 canvas标签实现刮刮卡效果
2015/04/24 HTML / CSS
canvas学习总结三之绘制路径-线段
2019/01/31 HTML / CSS
什么是设计模式
2012/06/17 面试题
laravel使用redis队列实例讲解
2021/03/23 PHP
本科毕业生的求职信范文
2013/11/20 职场文书
2014年初一班主任工作总结
2014/11/08 职场文书
消夏晚会主持词
2015/06/30 职场文书
如何才能写好调研报告?
2019/07/03 职场文书
低版本Druid连接池+MySQL驱动8.0导致线程阻塞、性能受限
2021/07/01 MySQL