我試圖在單擊事件后每 100 毫秒更改一次元素的不透明度。但它不起作用。該函式change在單擊事件后呼叫。這是我的代碼:
function change (i) {
var o:number = 0;
setTimeout( function() {
o = o 0.1;
document.querySelector("div.label").style.opacity = o;
console.log("o = " o);
}, 100)
}
當我控制臺日志時,的值o始終為 0.1。這段代碼有什么問題?
uj5u.com熱心網友回復:
您正在使用setTimeout(),但我認為您正在尋找setInterval()方法(如果您想要重復自己的話)。
嘗試 :
function change (i) {
var o:number = 0;
setInterval( function() {
o = o 0.1;
document.querySelector("div.label").style.opacity = o;
console.log("o = " o);
}, 100)
}
小心:您必須防止變數 o 超過 1(最大不透明度)。您可以使用 clearInterval()。
uj5u.com熱心網友回復:
在增加它之前,您需要使用當前的不透明度更新 var o:
function change (i) {
var o:number = 0;
setTimeout( function() {
o = document.querySelector("div.label").style.opacity; // <-- ADD THIS
o = o 0.1;
document.querySelector("div.label").style.opacity = o;
console.log("o = " o);
}, 100)
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/344927.html
標籤:javascript 反应 打字稿
下一篇:如何將物件映射到ui?
