Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
首次更改颜色后,轮廓颜色闪烁的JavaScript设置间隔不起作用_Javascript_Css_Setinterval_Getelementbyid_Var - Fatal编程技术网

首次更改颜色后,轮廓颜色闪烁的JavaScript设置间隔不起作用

首次更改颜色后,轮廓颜色闪烁的JavaScript设置间隔不起作用,javascript,css,setinterval,getelementbyid,var,Javascript,Css,Setinterval,Getelementbyid,Var,我试图每2秒更改一个H1元素的轮廓颜色。所以我使用了这个JavaScript代码。。。但它只从黄色变为橙色一次,并且一直保持橙色。我能做些什么使它在两种颜色之间闪烁?请用JS术语回复,而不是JQuery库 这是我的JavaScript代码,我是JS新手: var myVar = setInterval(function(){ colorFlicker() }, 2000); function colorFlicker(){ var y = document.getElementById

我试图每2秒更改一个H1元素的轮廓颜色。所以我使用了这个JavaScript代码。。。但它只从黄色变为橙色一次,并且一直保持橙色。我能做些什么使它在两种颜色之间闪烁?请用JS术语回复,而不是JQuery库

这是我的JavaScript代码,我是JS新手:

var myVar = setInterval(function(){ colorFlicker() }, 2000);

function colorFlicker(){
    var y = document.getElementById("mainH1");
    y.style.outlineColor = y.style.outlineColor == "#ff944d" ? "#d9ff66": "#ff944d";
  }

不要在javascript中检查颜色,返回的颜色取决于浏览器,通常采用
rgb(200,33,33)
rgba(244,22244,1)
格式,甚至在旧浏览器中使用十六进制,请改用标志

var myVar=setInterval(彩色闪烁,500);
var标志=真;
函数colorFlacker(){
var y=document.getElementById(“mainH1”);
y、 style.outlineColor=flag?#d9ff66:“#ff944d”;
flag=!flag;
}
#mainH1{大纲:2px实心#ff944d;}
TEST
使用默认颜色的
rgb()
,然后调整您的条件:

var myVar=setInterval(彩色闪烁,1000);
函数colorFlacker(){
var y=document.getElementById(“mainH1”);
y、 style.outlineColor=y.style.outlineColor==“rgb(255,148,77)”?“#d9ff66:“rgb(255,148,77)”;
}
h1{
轮廓样式:虚线;
轮廓颜色:rgb(255、148、77);
}


mainH1应使用CSS处理样式更改。然后,您可以使用JavaScript安全地切换将CSS样式附加到元素的类:

/* css */
#mainH1 { outline: /* some color */ }
#mainH1.alternateColor { outline: /* some other color */ }

// JS
var y = document.getElementById("mainH1");
function colorFlicker(){
  y.classList.toggle('alternateColor');
}

在ColorFlacker()函数中创建变量“y”后,您能用文字解释一下该标志在做什么吗?有人能告诉我如何使用该标志对if,else语句执行adeneo的操作吗?这真的很有趣,但因为我是新来的,我对控制流有点迷茫。它和你的代码一样,标志开始是
true
和do
flag=!flag
将其反转,因此
true
变为
false
,下次
false
变为
true
等。