Javascript jquery setinterval不工作无控制台错误
我试图每1秒添加和删除一个类,但它现在正在工作,并且没有控制台错误 实际上,我正在尝试更改菜单项的颜色和背景色,以引起我无法解决的注意:( 这是我的jquery html和css代码 jqueryJavascript jquery setinterval不工作无控制台错误,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我试图每1秒添加和删除一个类,但它现在正在工作,并且没有控制台错误 实际上,我正在尝试更改菜单项的颜色和背景色,以引起我无法解决的注意:( 这是我的jquery html和css代码 jquery function ds1() { $("#h").addClass("ds"); }; function ds2() { $("#h").removeClass("ds"); }; function ds() { if ( $("#h").css("color") == (
function ds1() {
$("#h").addClass("ds");
};
function ds2() {
$("#h").removeClass("ds");
};
function ds() {
if ( $("#h").css("color") == ("#000000") ){
$("#h").addClass("ds");
}else{
$("#h").removeClass("ds");
}
};
setInterval(ds , 1000);
html
<ul id="alt_menu2">
<li><a href="#" class="anasayfa">Ana sayfa</a></li>
<li><a href="#" class="modlar">Modlar</a></li>
<li><a href="#" class="kaynakpaketleri">Kaynak paketleri</a></li>
<li><a href="#" class="hariatalar">Haritalar</a></li>
<li><a href="#" class="kendinyap">Kendin yap</a></li>
<li><a href="#" class="heraypremium" id="h">Her ay premium</a></li>
<li><a href="#" class="yardim">Yardım</a></li>
</ul>
当使用括号dods()时,实际上是在调用操作
试一试
您需要将函数传递给
setInterval
,而不是函数的结果…setInterval(ds,1000)
。事实上我知道这是错误的,但我尝试了ds,但没有说ds()可能是真的,在共享之前忘记了删除:除了@Phil的修复,您可能还想看看.toggleClass()
@sdasdas不客气。另一种方法可能是使用.hasClass()
而不是检查颜色,但在这种情况下,.toggleClass()
更好。css('color')
不会返回十六进制值。根据浏览器的不同,它将是rgb
或rgba
#alt_menu2{
width: 1020px;
height: 50px;
list-style: none;
display: block;
}
#alt_menu2 li{
display: block;
float: left;
cursor: pointer;
border-style: solid;
border-width: 0px 1px 0px 0px;
border-color: #cccccc;
}
#alt_menu2 li a,.heraypremium{
padding: 16px 18px 15px 17px;
text-decoration: none;
display: block;
text-align: center;
color: #000000;
background-color: #ffffff;
/*transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s
-o-transition: 0.5s;*/
}
#alt_menu2 li a:hover{
padding: 12px 18px 15px 17px;
border-width: 4px 0px 0px 0px;
border-color: #cccccc;
border-style: solid;
}
.ds{
background-color: #303030 !important;
color: #ffffff !important;
}
setInterval(function(){console.log('interval ran')},1000) //in your case, you already have a function you want to call so
setInterval(ds,1000);