[英]Why my text does not blink?
我想使用javascript使我的文本閃爍但是......沒有
var blocus = document.getElementById('blocus');
var cas = 1;
function changer() {
if (cas == 1) {
blocus.style.color = "rgb(58, 83, 155)";
cas = 2;
}
if (cas == 2) {
blocus.style.color = "rgb(154, 18, 179)";
cas = 1;
}
}
setInterval(changer, 100);
我不明白為什么我的文字沒有閃爍無限。 請幫我。 我希望我的文字從一種顏色閃爍到另一種顏色,並且交替,無限......
你需要使用if (...) {...} else if (...) {...}
模式而不是2 if
blocks。
例如,當前在您的代碼中,如果cas === 1
則
if
塊將cas
更改為2
。 if
的條件是cus === 2; // true
cus === 2; // true
if
塊 if
塊會覆蓋第一個塊所做的更改 因此,您的顏色沒有明顯變化。
if (cas === 1) {
blocus.style.color = "rgb(58, 83, 155)";
cas = 2;
} else if (cas === 2) {
blocus.style.color = "rgb(154, 18, 179)";
cas = 1;
}
var blocus = document.getElementById('blocus'); var cas = 1; function changer() { if (cas === 1) { blocus.style.color = "rgb(58, 83, 155)"; cas = 2; } else if (cas === 2) { blocus.style.color = "rgb(154, 18, 179)"; cas = 1; } } setInterval(changer, 100);
div { height: 50px; font-size: 50px; }
<div id="blocus"> hello </div>
你能做到的
var blocus = document.getElementById('blocus'); var cas = false; function changer() { cas = !cas; if (cas) { blocus.style.color = "rgb(58, 83, 155)"; }else{ blocus.style.color = "rgb(154, 18, 179)"; } } setInterval(changer, 100);
像這樣更改你的代碼(添加else if
語句)。 否則第二個if將永遠為真。
function changer() {
if (cas == 1) {
blocus.style.color = "rgb(58, 83, 155)";
cas = 2;
} else if (cas == 2) {
blocus.style.color = "rgb(154, 18, 179)";
cas = 1;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.