设置了一个颜色值,用十六进制颜色的时候一直执行else里面的颜色,等于没有颜色闪烁,但是换成英文表示颜色,就可以实现颜色闪烁,想问下原因是什么?
1.这是设置十六进制的颜色后,后台一直打印2,并且颜色一直是红色,等于文字没有闪烁颜色
.box{ width:200px; height:200px; text-align:center; line-height:200px; border:1px solid #000; } #text{ color:#f00; }
<p>会闪烁的文字</p> <div class="box"> <p id="text">今日特卖</p> </div>
var text=document.getElementById("text"); function ok(){ console.log(text.style.color); if(text.style.color=="#f00"){ text.style.color="#0f0"; console.log(1); }else { text.style.color="#f00"; console.log(2); } } setInterval(ok,500);
打印台结果:
2.这是颜色设置了英文表达后,实现了颜色闪烁的效果
.box{ width:200px; height:200px; text-align:center; line-height:200px; border:1px solid #000; } #text{ color:red; }
<p>会闪烁的文字</p> <div class="box"> <p id="text">今日特卖</p> </div>
var text=document.getElementById("text"), timer=null; timer=setInterval(function (){ if(text.style.color=="red"){ text.style.color="blue"; console.log(1); }else{ text.style.color="red"; console.log(2); } },500);
打印台结果:
奔跑的虫子