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 表单进行客户端验证demo
Aug 24 Javascript
picChange 图片切换特效的函数代码
May 06 Javascript
获取当前点击按钮的id用this.id实现
Mar 17 Javascript
javascript中FOREACH数组方法使用示例
Mar 01 Javascript
js轮播图无缝滚动效果
Jun 17 Javascript
jQuery实现表格冻结顶栏效果
Aug 20 jQuery
JavaScript html5 canvas实现图片上画超链接
Oct 20 Javascript
基于Vue实现微信小程序的图文编辑器
Jul 25 Javascript
angularJs在多个控制器中共享服务数据的方法
Sep 30 Javascript
利用Vue构造器创建Form组件的通用解决方法
Dec 03 Javascript
Jquery 动态添加元素并添加点击事件实现过程解析
Oct 12 jQuery
浅析JavaScript 函数柯里化
Sep 08 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
PHP中文汉字验证码
2007/04/08 PHP
解析php根据ip查询所在地区(非常有用,赶集网就用到)
2013/07/01 PHP
PHP扩展开发教程(总结)
2015/11/04 PHP
PHP简单判断手机设备的方法
2016/08/23 PHP
php解决DOM乱码的方法示例代码
2016/11/20 PHP
基于jquery的横向滚动条(滑动条)
2011/02/24 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
2013/08/06 Javascript
使用jquery.qrcode生成彩色二维码实例
2014/08/08 Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
2015/11/24 Javascript
JS设置下拉列表框当前所选值的方法
2015/12/22 Javascript
Angular-UI Bootstrap组件实现警报功能
2018/07/16 Javascript
Vue项目安装插件并保存
2019/01/28 Javascript
Vue项目引发的「过滤器」使用教程
2019/03/12 Javascript
nodejs分离html文件里面的js和css的方法
2019/04/09 NodeJs
javascript自定义右键菜单插件
2019/12/16 Javascript
详解钉钉小程序组件之自定义模态框(弹窗封装实现)
2020/03/07 Javascript
vue3.0实现点击切换验证码(组件)及校验
2020/11/18 Vue.js
Python中标准模块importlib详解
2017/04/16 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
python排序函数sort()与sorted()的区别
2018/09/18 Python
关于Python字符编码与二进制不得不说的一些事
2020/10/04 Python
python小技巧——将变量保存在本地及读取
2020/11/13 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
2021/01/25 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
微软英国官方网站:Microsoft英国
2016/10/15 全球购物
英国户外装备商店:Ultimate Outdoors
2019/05/07 全球购物
大学生毕业求职找工作的自我评价
2013/09/29 职场文书
标准自荐信范文
2014/01/29 职场文书
优秀教师获奖感言
2014/01/31 职场文书
珍惜水资源建议书
2014/03/12 职场文书
服务承诺口号
2014/05/22 职场文书
助理政工师申报材料
2014/06/03 职场文书
个人对照检查材料思想汇报
2014/09/26 职场文书
通知的写法
2015/04/23 职场文书
市级三好生竞选稿
2015/11/21 职场文书
党员学习型组织心得体会
2019/06/21 职场文书