Vue实现背景更换颜色
<!-- 分页上下页改变背景图效果 --><!DOCTYPE html><html>&amp
·
<!-- 分页上下页改变背景图效果 -->
<!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="#" v-on:click="decrease" >上一页</a>
</li>
<li v-for="n in totalPage">
<a href="#" v-bind:class="n==activeNum?'active':''">{{n}}</a>
</li>
<li>
<a href="#" @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>
<!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>
更多推荐
已为社区贡献1条内容
所有评论(0)