Vue實(shí)現(xiàn)背景更換顏色操作
如下所示:

<!-- 分頁上下頁改變背景圖效果 -->
<!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},$,${a})`
}
}
})
</script>
</body>
</html>

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>自定義指令實(shí)現(xiàn)隨機(jī)背景</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進(jìn)制顏色">
</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},$,$)`
}
},
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},$,${a})`;
console.log("綁定成功");
},
update: function(el, bindings) {
console.log('已更新數(shù)據(jù)');
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},$,${a})`
}, //更新數(shù)據(jù)
}
}
});
</script>
</body>
</html>
補(bǔ)充知識:vue統(tǒng)一設(shè)置了背景色,單獨(dú)改變某一頁的背景色
有時(shí)我們會遇到單獨(dú)改變某個(gè)組件的背景填充色,而我們已經(jīng)在index.html中引入了公用的css樣式(body中設(shè)置了背景色),由于單個(gè)組件沒有body標(biāo)簽,于是要修改單個(gè)組件的背景色只需添加如下代碼即可。
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實(shí)現(xiàn)背景更換顏色操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vscode中eslint配置保存自動修復(fù)代碼示例詳解
vscode根據(jù)eslint保存?動修復(fù)配置,下面這篇文章主要給大家介紹了關(guān)于vscode中eslint配置保存自動修復(fù)代碼的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12
Vuex實(shí)現(xiàn)數(shù)據(jù)增加和刪除功能
今天小編就為大家分享一篇Vuex實(shí)現(xiàn)數(shù)據(jù)增加和刪除功能,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
解讀element-ui使用el-upload,before-upload函數(shù)不好使的問題
這篇文章主要介紹了解讀element-ui使用el-upload,before-upload函數(shù)不好使的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
vue2 v-model/v-text 中使用過濾器的方法示例
這篇文章主要介紹了vue2 v-model/v-text 中使用過濾器的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05

