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 相关文章推荐
Z-Blog中用到的js代码
Mar 15 Javascript
浅谈JS闭包中的循环绑定处理程序
Nov 09 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
Mar 04 Javascript
jQuery实现图片与文字描述左右滑动自动切换的方法
Jul 27 Javascript
jquery实现倒计时功能
Dec 28 Javascript
angularjs封装bootstrap时间插件datetimepicker
Jun 20 Javascript
深入理解选择框脚本[推荐]
Dec 13 Javascript
jQuery zTree树插件简单使用教程
Jan 10 Javascript
Angular弹出模态框的两种方式
Oct 19 Javascript
javascript的delete运算符知识点总结
Nov 19 Javascript
JavaScript适配器模式原理与用法实例详解
Mar 09 Javascript
在nuxt中使用路由重定向的实例
Nov 06 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
PHP 编程的 5个良好习惯
2009/02/20 PHP
PHP实现GIF图片验证码
2015/11/04 PHP
Zend Framework入门教程之Zend_Mail用法示例
2016/12/08 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
javascript学习笔记(十五) js间歇调用和超时调用
2012/06/20 Javascript
方便实用的jQuery checkbox复选框全选功能简单实例
2013/10/09 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
2014/05/08 Javascript
jQuery 删除/替换DOM元素的几种方式
2014/05/20 Javascript
javascript继承的六大模式小结
2015/04/13 Javascript
JS实现跟随鼠标立体翻转图片的方法
2015/05/04 Javascript
无刷新上传文件并返回自定义值
2015/06/11 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
2015/10/23 Javascript
原生js制作日历控件实例分享
2016/04/06 Javascript
EasyUI布局 高度自适应
2016/06/04 Javascript
史上最全JavaScript常用的简写技巧(推荐)
2017/08/17 Javascript
Angular5中调用第三方js插件的方法
2018/02/26 Javascript
[38:23]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第一场
2014/05/24 DOTA
浅谈Python类的__getitem__和__setitem__特殊方法
2016/12/25 Python
Python针对给定列表中元素进行翻转操作的方法分析
2018/04/27 Python
pandas读取csv文件,分隔符参数sep的实例
2018/12/12 Python
python获取本机所有IP地址的方法
2018/12/26 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
2019/05/27 Python
TensorFlow设置日志级别的几种方式小结
2020/02/04 Python
python烟花效果的代码实例
2020/02/25 Python
Python %r和%s区别代码实例解析
2020/04/03 Python
django haystack实现全文检索的示例代码
2020/06/24 Python
详解python datetime模块
2020/08/17 Python
美国最大的家庭鞋类零售商之一:Shoe Carnival
2017/10/06 全球购物
C语言编程题
2015/03/09 面试题
小学生自我评价范例
2013/09/24 职场文书
电子信息专业学生自荐信
2013/11/09 职场文书
学生干部的自我评价分享
2014/01/18 职场文书
购房意向书
2014/08/30 职场文书
2015幼儿园新学期寄语
2015/02/27 职场文书
vue elementUI批量上传文件
2022/04/26 Vue.js