猿问

js颜色闪烁问题

设置了一个颜色值,用十六进制颜色的时候一直执行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);

打印台结果:

https://img2.mukewang.com/5ad5c1580001b7e803770211.jpg

karsin
浏览 1413回答 1
1回答

奔跑的虫子

红色 #ff0000
随时随地看视频慕课网APP
我要回答