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 相关文章推荐
JQuery插件fancybox无法在弹出层使用左右键的解决办法
Dec 25 Javascript
JavaScript设计模式之工厂模式和构造器模式
Feb 11 Javascript
javascript中异常处理案例(推荐)
Oct 03 Javascript
获取IE浏览器Cookie信息的方法
Jan 23 Javascript
JavaScript之json_动力节点Java学院整理
Jun 29 Javascript
VUE axios发送跨域请求需要注意的问题
Jul 06 Javascript
ES6 javascript中Class类继承用法实例详解
Oct 30 Javascript
AngularJs 禁止模板缓存的方法
Nov 28 Javascript
js 两数组去除重复数值的实例
Dec 06 Javascript
node内置调试方法总结
Feb 22 Javascript
node+multer实现图片上传的示例代码
Feb 18 Javascript
Vue 打包的静态文件不能直接运行的原因及解决办法
Nov 19 Vue.js
最全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
解析PHP无限级分类方法及代码
2013/06/21 PHP
PHP获取一年中每个星期的开始和结束日期的方法
2015/02/12 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
分享php邮件管理器源码
2016/01/06 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
2020/04/26 PHP
jquery操作select option 的代码小结
2011/06/21 Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
jquery 定位input元素的几种方法小结
2013/07/28 Javascript
jQuery javaScript捕获回车事件(示例代码)
2013/11/07 Javascript
javascript日期对象格式化为字符串的实现方法
2014/01/14 Javascript
jquery ajax 局部刷新小案例
2014/02/08 Javascript
javascript中的后退和刷新实现方法
2016/11/10 Javascript
微信小程序富文本渲染引擎的详解
2017/09/30 Javascript
Angular5.1新功能分享
2017/12/21 Javascript
webpack4 CSS Tree Shaking的使用
2018/09/03 Javascript
微信小程序使用setData修改数组中单个对象的方法分析
2018/12/30 Javascript
JS中实现浅拷贝和深拷贝的代码详解
2019/06/05 Javascript
使用axios请求接口,几种content-type的区别详解
2019/10/29 Javascript
基于javascript实现贪吃蛇小游戏
2019/11/25 Javascript
[02:10]DOTA2 TI10勇士令状玩法及不朽Ⅰ展示:焕新世界,如你所期
2020/05/29 DOTA
python定时器使用示例分享
2014/02/16 Python
Python中is与==判断的区别
2017/03/28 Python
Python编程实现线性回归和批量梯度下降法代码实例
2018/01/04 Python
Python matplotlib绘图可视化知识点整理(小结)
2018/03/16 Python
Django框架HttpRequest对象用法实例分析
2019/11/01 Python
pytorch GAN生成对抗网络实例
2020/01/10 Python
英国口碑最好的的维他命胶囊品牌:Myvitamins(有中文站)
2016/12/03 全球购物
雅高酒店中国:Accorhotels.com China
2018/03/26 全球购物
印度手工编织服装和家居用品商店:Fabindi
2019/10/07 全球购物
质检的岗位职责
2013/11/17 职场文书
安全资金保障制度
2014/01/23 职场文书
银行领导班子四风对照检查材料
2014/09/27 职场文书
试用期旷工辞退通知书
2015/04/17 职场文书
新闻稿件写作范文
2015/07/18 职场文书
聊聊golang中多个defer的执行顺序
2021/05/08 Golang
英国数字版游戏销量周榜公布 《小缇娜的奇幻之地》登顶
2022/04/03 其他游戏