Vue实现背景更换颜色操作


Posted in Javascript onJuly 17, 2020

如下所示:

Vue实现背景更换颜色操作

<!-- 分页上下页改变背景图效果 -->
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<title></title>
	<link rel="stylesheet" href="">
	<script type="text/javascript" src="../node_modules/vue/dist/vue.js"></script>
	<style type="text/css" media="screen">
		.page{
			list-style: none;
		}
		.page>li{
			float: left;
			margin-left: 10px;
		}
		.page>li>a{
			text-decoration: none;
		}
		.active{
			color: red;
			text-decoration: display;
		}
		div{
			width: 500px;height: 500px;
		}
	</style>
</head>
<body >
	<div id="app" v-bind:style="{backgroundColor:bgCol}">
		<ul class="page">
			<li> 
				<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" v-on:click="decrease" >上一页</a> 
			</li>
			<li v-for="n in totalPage">
				<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" v-bind:class="n==activeNum?'active':''">{{n}}</a>
			</li>
			<li>
				<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click="increase">下一页</a> 
			</li>
		</ul>
	</div>
	<script type="text/javascript">
		var exampleData={
			
			//msg:"Hello Vue",
			bgCol:"#DB8623FF",
			totalPage:10,
			
			activeNum:3,
		}
		var app = new Vue({
			el:'#app',
			data:exampleData,
			methods:{
				decrease:function(){
					this.activeNum==1?'':this.activeNum-=1;
					
					this.bgCol=this.getRandom();

				},
				increase:function(){
					this.activeNum==10?'':this.activeNum+=1;
					this.bgCol=this.getRandom();
				},
				getRandom:function(){
					var r=Math.floor(Math.random()*256);
					var g=Math.floor(Math.random()*256);
					var b=Math.floor(Math.random()*256);
					var a=Math.random().toFixed(1);
					return `rgba(${r},${g},${b},${a})`
				}
			}
		})
	</script>
</body>
</html>

Vue实现背景更换颜色操作

<!DOCTYPE html>
<html>

<head lang="en">
 <meta charset="UTF-8">
 <title>自定义指令实现随机背景</title>
 <style type="text/css" media="screen">
  #app{
  width: 999px;
  height: 999px;
  }
 </style>
</head>
<body>
 <h3>自定义指令</h3>
 <div id="app" v-change-background-color="myBgColor">
 <h3 >
 <input type="text" v-model="myBgColor" placeholder="请输入16进制颜色">
 </h3>
 </div>
 <script src="../node_modules//vue/dist/vue.js"></script>
 <script>
 var exampleData = {
  myBgColor: "#5FCA34",
 };
 new Vue({
  el: "#app",
  data: exampleData,
  methods:{
  	 getRandom:function(){
			var r=Math.floor(Math.random()*256);
			var g=Math.floor(Math.random()*256);
			var b=Math.floor(Math.random()*256);
			var a=Math.random().toFixed(1);
			return `rgba(${r},${g},${b},${b})`
    }
  },
  directives: {
   changeBackgroundColor: {
    bind: function(el, bindings) {
     //el:指定绑定dom元素 h3dom对象
     //bindings:自定义指令对象
     //v-change-background-color="myBgColor"
     //bindings.value;=="#ff0000"
					var r=Math.floor(Math.random()*256);
					var g=Math.floor(Math.random()*256);
					var b=Math.floor(Math.random()*256);
					var a=Math.random().toFixed(1);

     el.style.backgroundColor =`rgba(${r},${g},${b},${a})`;
     console.log("绑定成功");
    },
    update: function(el, bindings) {
     console.log('已更新数据');
     var r=Math.floor(Math.random()*256);
					var g=Math.floor(Math.random()*256);
					var b=Math.floor(Math.random()*256);
					var a=Math.random().toFixed(1);
     el.style.background = `rgba(${r},${g},${b},${a})`
    }, //更新数据

   }
  }
 });
 </script>
</body>

</html>

补充知识:vue统一设置了背景色,单独改变某一页的背景色

有时我们会遇到单独改变某个组件的背景填充色,而我们已经在index.html中引入了公用的css样式(body中设置了背景色),由于单个组件没有body标签,于是要修改单个组件的背景色只需添加如下代码即可。

beforeCreate () {
 document.querySelector('body').setAttribute('style', 'margin: 0 auto; width: 100%; max-width: 750px;min-width: 300px; background:#171b2a; overflow-x: hidden;height: 100%;');
}

以上这篇Vue实现背景更换颜色操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
关于Aptana Studio生成自动备份文件的解决办法
Dec 23 Javascript
基于jQuery的Spin Button自定义文本框数值自增或自减
Jul 17 Javascript
js中的push和join方法使用介绍
Oct 08 Javascript
javascript预加载图片、css、js的方法示例介绍
Oct 14 Javascript
2014年最火的Node.JS后端框架推荐
Oct 27 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
Jun 24 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
Oct 28 Javascript
提高Web性能的前端优化技巧总结
Feb 27 Javascript
基于vue.js实现的分页
Mar 13 Javascript
mint-ui在vue中的使用示例
Apr 05 Javascript
vue 实现边输入边搜索功能的实例讲解
Sep 16 Javascript
JavaScript canvas实现跟随鼠标移动小球
Feb 09 Javascript
最全vue的vue-amap使用高德地图插件画多边形范围的示例代码
Jul 17 #Javascript
Vue 实现v-for循环的时候更改 class的样式名称
Jul 17 #Javascript
vue点击标签切换选中及互相排斥操作
Jul 17 #Javascript
Vue点击切换Class变化,实现Active当前样式操作
Jul 17 #Javascript
JS this关键字在ajax中使用出现问题解决方案
Jul 17 #Javascript
vue中v-for循环选中点击的元素并对该元素添加样式操作
Jul 17 #Javascript
在vue中对数组值变化的监听与重新响应渲染操作
Jul 17 #Javascript
You might like
农民和部队如何穿矿
2020/03/04 星际争霸
使用PHP制作新闻系统的思路
2006/10/09 PHP
如何使用PHP获取网络上文件
2006/10/09 PHP
php 生成饼图 三维饼图
2009/09/28 PHP
PHP 编写大型网站问题集
2010/05/07 PHP
PHP操作数组相关函数
2011/02/03 PHP
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
Jquery常用技巧收集整理篇
2010/11/14 Javascript
Jquery之Ajax运用 学习运用篇
2011/09/26 Javascript
js三种排序算法分享
2012/08/16 Javascript
新增加的内容是如何将div的scrollbar自动移动最下面
2014/01/02 Javascript
jQuery使用之处理页面元素用法实例
2015/01/19 Javascript
jQuery实现给页面换肤的方法
2015/05/30 Javascript
AngularJS数据源的多种获取方式汇总
2016/02/02 Javascript
js表单处理中单选、多选、选择框值的获取及表单的序列化
2016/03/08 Javascript
Node.js 应用跑得更快 10 个技巧
2016/04/03 Javascript
javascript宿主对象之window.navigator详解
2016/09/07 Javascript
js仿iphone秒表功能 计算平均数
2017/01/11 Javascript
js中的闭包学习心得
2018/02/06 Javascript
angularjs实现table表格td单元格单击变输入框/可编辑状态示例
2019/02/21 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
[03:49]DOTA2英雄基础教程 光之守卫
2014/01/14 DOTA
Python之eval()函数危险性浅析
2014/07/03 Python
Python 写入训练日志文件并控制台输出解析
2019/08/13 Python
python中的global关键字的使用方法
2019/08/20 Python
vscode+PyQt5安装详解步骤
2020/08/12 Python
css3的动画特效之动画序列(animation)
2017/12/22 HTML / CSS
美国伊甸园兄弟种子公司:Eden Brothers
2018/07/01 全球购物
《雨点儿》教学反思
2014/04/14 职场文书
市场营销专业自荐书
2014/06/10 职场文书
护士找工作求职信
2014/07/02 职场文书
满月酒邀请函
2015/01/30 职场文书
百家讲坛观后感
2015/06/12 职场文书
幼儿园国培研修日志
2015/11/13 职场文书
2016年五一劳动节专题校园广播稿
2015/12/17 职场文书
vue 实现弹窗关闭后刷新效果
2022/04/08 Vue.js