我想使用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);
我不明白为什么我的文字没有闪烁无限。请帮我。 我希望我的文字从一种颜色闪烁到另一种颜色,并且交替,无限......
答案 0 :(得分:3)
您需要使用if (...) {...} else if (...) {...}
模式而不是2 if
个模块。
例如,目前在您的代码中cas === 1
然后
if
数据块将cas
更改为2
。 if
的条件是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>
&#13;
答案 1 :(得分:0)
你可以做到
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);
&#13;
答案 2 :(得分:0)
像这样更改代码(添加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;
}
}