基于vue实现一个神奇的动态按钮效果


Posted in Javascript onMay 15, 2019

今天我们将利用vue的条件指令来完成一个简易的动态变色功能按钮

首先我们还是要对vue进行配置,在上篇随笔中有相关下载教学.

然后我们要在html页面上搭建三个简易的按钮,颜色分别为紫,绿和蓝(颜色随意)其代码如下:

<body>
<div id="app">
 <p>
  <button @click="btn_click('pg1')" :style="{background:'rebeccapurple'}">紫</button>
  <button @click="btn_click('pg2')" :style="{background:'yellowgreen'}">绿</button>
  <button @click="btn_click('pg3')" :style="{background:'cornflowerblue'}">蓝</button>
 </p>
</div>
</body>

这里的@是v-on事件指令,在这里要在三个按钮上设置点击事件

接着我们要进行条件指令的判断,其代码如下:  

<div class="box pg1" v-if="pg == 'pg1'" key="pg1"></div>
  <div class="box pg2" v-else-if="pg == 'pg2'" key="pg2"></div>
  <div class="box pg3" v-else key="pg3"></div>

通过条件来判断点击不同的按钮触发不同的效果

接下来我们将进行挂载点,事件的渲染以及为事件提供实现体操作

<script>
 new Vue({
  el: '#app',
  data: {
   pg: 'pg1'
  },
  methods: {
   btn_click: function (pg_num) {
    this.pg = pg_num
   }
  }
 })
</script>

这里我们设置进入页面后默认显示第一个按钮显示的图片,通过点击来完成事件的转换.

最后就是把图片给设置出来啦

<style>
 .box {
  width: 200px;
  height: 100px;
  background-color: darkgray;
 }
 .pg1 { background-color: rebeccapurple; }
 .pg2 { background-color: yellowgreen; }
 .pg3 { background-color: cornflowerblue; }
</style>

当然也可以选择你喜欢的图片进行放置,这里我们只是放置颜色填充的框

具体的实现效果如下:

基于vue实现一个神奇的动态按钮效果基于vue实现一个神奇的动态按钮效果基于vue实现一个神奇的动态按钮效果 

  通过不同的点击来获得不同的图片!

整体代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <style>
  .box {
   width: 200px;
   height: 100px;
   background-color: darkgray;
  }
  .pg1 { background-color: rebeccapurple; }
  .pg2 { background-color: yellowgreen; }
  .pg3 { background-color: cornflowerblue; }
 </style>
</head>
<body>
<div id="app">
 <p v-if="is_if" key="my_if">v-if的显示与隐藏</p>
 <p v-show="is_show" key="my_show">v-show的显示与隐藏</p>
 <p>
  <button @click="btn_click('pg1')" :style="{background:'rebeccapurple'}">紫</button>
  <button @click="btn_click('pg2')" :style="{background:'yellowgreen'}">绿</button>
  <button @click="btn_click('pg3')" :style="{background:'cornflowerblue'}">蓝</button>
  <div class="box pg1" v-if="pg == 'pg1'" key="pg1"></div>
  <div class="box pg2" v-else-if="pg == 'pg2'" key="pg2"></div>
  <div class="box pg3" v-else key="pg3"></div>
 </p>
</div>
</body>
<script src="js/vue.min.js"></script>
<script>
 new Vue({
  el: '#app',
  data: {
   is_if: false,
   is_show: true,
   pg: 'pg1'
  },
  methods: {
   btn_click: function (pg_num) {
    this.pg = pg_num
   }
  }
 })
</script>
</html>

总结

以上所述是小编给大家介绍的基于vue实现一个神奇的动态变色按钮效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
javascript 命名空间以提高代码重用性
Nov 13 Javascript
Javascript 通过json自动生成Dom的代码
Apr 01 Javascript
javascript自执行函数之伪命名空间封装法
Dec 25 Javascript
招聘网站基于jQuery实现自动刷新简历
May 10 Javascript
jQuery模拟360浏览器切屏效果幻灯片(附demo源码下载)
Jan 29 Javascript
Vue.js之slot深度复制详解
Mar 10 Javascript
详解node-ccap模块生成captcha验证码
Jul 01 Javascript
解决Vue 浏览器后退无法触发beforeRouteLeave的问题
Dec 24 Javascript
Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
Apr 09 Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
Aug 16 Javascript
vue 公共列表选择组件,引用Vant-UI的样式方式
Nov 02 Javascript
JS removeAttribute()方法实现删除元素的某个属性
Jan 11 Javascript
微信小程序导航栏跟随滑动效果的实现代码
May 14 #Javascript
详解VSCode配置启动Vue项目
May 14 #Javascript
微信小程序下拉菜单效果的实例代码
May 14 #Javascript
jquery+css实现Tab栏切换的代码实例
May 14 #jQuery
jquery实现二级导航下拉菜单效果实例
May 14 #jQuery
js纯前端实现腾讯cos文件上传功能的示例代码
May 14 #Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
May 14 #Javascript
You might like
PHP3 safe_mode 失效漏洞
2006/10/09 PHP
从手册去理解分析PHP session机制
2011/07/17 PHP
php 邮件发送问题解决
2014/03/22 PHP
PHP实现留言板功能的详细代码
2017/03/25 PHP
浅谈PHP中的面向对象OOP中的魔术方法
2017/06/12 PHP
accesskey 提交
2006/06/26 Javascript
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
FusionCharts图表显示双Y轴双(多)曲线
2012/11/22 Javascript
extjs ColumnChart设置不同的颜色实现代码
2013/05/17 Javascript
探索angularjs+requirejs全面实现按需加载的套路
2016/02/26 Javascript
将List对象列表转换成JSON格式的类实现方法
2016/07/04 Javascript
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
2017/05/10 Javascript
javascript基于定时器实现进度条功能实例
2017/10/13 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
2017/12/06 Javascript
基于openlayers4实现点的扩散效果
2020/08/17 Javascript
在vue项目中使用element-ui的Upload上传组件的示例
2018/02/08 Javascript
浅谈python多线程和队列管理shell程序
2015/08/04 Python
python使用zip将list转为json的方法
2018/12/31 Python
使用python 打开文件并做匹配处理的实例
2019/01/02 Python
python集合的创建、添加及删除操作示例
2019/10/08 Python
详解python logging日志传输
2020/07/01 Python
Crabtree & Evelyn英国官网:瑰珀翠护手霜、香水、沐浴和身体护理
2018/04/26 全球购物
北美个性化礼品商店:Things Remembered
2018/06/12 全球购物
康帕斯酒店预订:Compass Hospitality(支持中文)
2018/08/23 全球购物
Kiehl’s科颜氏西班牙官方网站:源自美国的植物护肤品牌
2020/02/22 全球购物
介绍一下Java的事务处理
2012/12/07 面试题
工作自我评价分享
2013/12/01 职场文书
简历中自我评价范文3则
2013/12/14 职场文书
社区端午节活动方案
2014/01/28 职场文书
员工考核管理制度
2014/02/02 职场文书
房屋委托书范本
2014/04/04 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
光棍节联谊晚会活动策划书
2014/10/10 职场文书
加强机关作风建设心得体会
2014/10/22 职场文书
详解Django的MVT设计模式
2021/04/29 Python
SQL SERVER存储过程用法详解
2022/02/24 SQL Server