Vue如何動態(tài)給id設(shè)置style樣式
vue動態(tài)給id設(shè)置style樣式
背景
有個需求需要動態(tài)控制數(shù)字的顏色,監(jiān)聽之,然后設(shè)置對應(yīng)顏色
代碼
1、監(jiān)聽字段
watch:{
? ? taskNum(to,do){
? ? ? ? if(to!=do)
? ? ? ? ? ? this.check();
? ? ? ? }
? ? },
methods:{
? ? check(){
? ? },
}2、動態(tài)計算,達(dá)到條件后改變字體顏色
var d = document.getElementById("taskNum");
d.style.color="#808080";
d.style.width="20%";
d.style.left= "35%";vue中動態(tài)改變樣式
以往寫html代碼的時候是將組件綁定點擊函數(shù)然后通過ducument拿到css改變樣式,也可以在js代碼中用document拿別的class或id的樣式。
我們以用document實現(xiàn)彈窗效果為例
<!-- 彈窗 -->
<div class="popbar" id="popbar">
<h3 class="notice">來啦</h3>
</div>.popbar{
position: absolute;
width: 340px;
height: 60px;
box-shadow: 0 0 5px 1px #464647;
border-radius: 15px;
border: none;
margin-right: 10px;
//改變margin-top的值以實現(xiàn)彈窗效果
margin-top: -80px;//end 10px
margin-left: 10px;
background-color: rgba(100, 235, 102, 0.6);
transition: all 0.5s;
.notice{
margin-top: 11.5px;
text-align: center;
font-size: 25px;
color: aliceblue;
}
}這里我們通過改變margin-top的值來實現(xiàn)彈窗效果,js代碼如下
function lock(){
document.getElementById("barlock").style.transform = "scale(1)"
document.getElementById("popbar").style.marginTop= "10px"
setTimeout(() => {
document.getElementById("popbar").style.marginTop= "-80px"
},2000)
}此處實現(xiàn)了一秒的動畫效果(從-80到10),在兩秒后回到-80的位置


彈窗效果展示
右下角的鎖同樣可以如此實現(xiàn),除了改變還可以inner html來實現(xiàn)新加樣式
但在vue中使用document似乎有點行不通
那在vue中應(yīng)該如何實現(xiàn)呢?
- 是可以通過綁定class樣式(或者style)在method中寫函數(shù)
- 或者同樣使用document來實現(xiàn)(這里涉及到全局的函數(shù),windows操作等,等弄明白了再更新)
- 還有就是同樣在method中寫的 類似document 的方法:就是用 this.$refs函數(shù),將組件綁定上ref值后拿style樣式
等我后邊更新吧~
ok,這邊更新一下
vue中改變樣式可以使用ref邦定標(biāo)簽,然后通過this.refs.(ref值).style.(元素屬性,同document語法)
<div ref="test" style="background=red"> </div>
在函數(shù)中
method{
this.refs.test.style.background="blue";
}總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue3修改link標(biāo)簽?zāi)J(rèn)icon無效問題詳解
這篇文章主要介紹了vue3修改link標(biāo)簽?zāi)J(rèn)icon無效問題詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
Vite中使用Ant?Design?Vue3.x框架教程示例
這篇文章主要為大家介紹了Vite中使用Ant?Design?Vue3.x框架教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
基于Vue實現(xiàn)自定義組件的方式引入圖標(biāo)
在vue項目中我們經(jīng)常遇到圖標(biāo),下面這篇文章主要給大家介紹了關(guān)于如何基于Vue實現(xiàn)自定義組件的方式引入圖標(biāo)的相關(guān)資料,文章通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-07-07

