基于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 相关文章推荐
jquery1.4后 jqDrag 拖动 不可用
Feb 06 Javascript
js获取当前页面的url网址信息
Jun 12 Javascript
AngularJS实现表单验证
Jan 28 Javascript
使用AJAX实现Web页面进度条的实例分享
May 06 Javascript
原生js实现jquery函数animate()动画效果的简单实例
Aug 21 Javascript
AngularJS实现自定义指令与控制器数据交互的方法示例
Jun 19 Javascript
React Native预设占位placeholder的使用
Sep 28 Javascript
微信小程序中悬浮窗功能的实现代码
Aug 02 Javascript
js中Function引用类型常见有用的方法和属性详解
Dec 11 Javascript
vue实现登录拦截
Jun 29 Javascript
关于vue 项目中浏览器跨域的配置问题
Nov 10 Javascript
如何用JavaScript学习算法复杂度
Apr 30 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
php inc文件使用的风险和注意事项
2013/11/12 PHP
PHP 函数call_user_func和call_user_func_array用法详解
2014/03/02 PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
2014/10/29 PHP
Laravel ORM 数据model操作教程
2019/10/21 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2007/02/15 Javascript
jquery实现按Enter键触发事件示例
2013/09/10 Javascript
使用node.js 获取客户端信息代码分享
2014/11/26 Javascript
跟我学习javascript的prototype使用注意事项
2015/11/17 Javascript
js实现select下拉框菜单
2015/12/08 Javascript
javascript实现tab响应式切换特效
2016/01/29 Javascript
javascript实现标签切换代码示例
2016/05/22 Javascript
js获取所有checkbox的值的简单实例
2016/05/30 Javascript
JavaScript实现广告弹窗效果
2016/08/09 Javascript
JS动态计算移动端rem的解决方案
2016/10/14 Javascript
javascript系统时间设置操作示例
2019/06/17 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
2019/11/21 Javascript
jQuery实现手风琴特效
2021/01/11 jQuery
nestjs中异常过滤器Exceptionfilter的具体使用
2021/02/07 Javascript
python在windows命令行下输出彩色文字的方法
2015/03/19 Python
20个常用Python运维库和模块
2018/02/12 Python
Python实现的多进程和多线程功能示例
2018/05/29 Python
tensorflow实现图像的裁剪和填充方法
2018/07/27 Python
python numpy 按行归一化的实例
2019/01/21 Python
python批量解压zip文件的方法
2019/08/20 Python
python 如何将数据写入本地txt文本文件的实现方法
2019/09/11 Python
关于Python-faker的函数效果一览
2019/11/28 Python
django template实现定义临时变量,自定义赋值、自增实例
2020/07/12 Python
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
星空联盟C# .net笔试题
2014/12/05 面试题
集团公司人力资源部岗位职责
2014/01/03 职场文书
护理专业毕业生自荐信范文
2014/01/05 职场文书
美术教师自我鉴定
2014/02/12 职场文书
家长会感言
2015/08/01 职场文书
《灰雀》教学反思
2016/02/19 职场文书
OpenStack虚拟机快照和增量备份实现方法
2022/04/04 Servers
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers