我正在尝试添加和删除<span>
中的类,但是尽管正在调用该函数,但removeClass无法正常工作。
setInterval(changeClass,4000);
var spanId=1;
function changeClass(){
$('#'+spanId).addClass("hilite");
setTimeout(remove, 1000);
spanId++;}
function remove(){
$('#'+spanId).removeClass("hilite");
return true;
}
有人能说出原因吗?
我该如何使用while循环来执行此操作,但我尝试了所有方法但无法使其正常工作
var spanSet=4;
var spanId=1;
while(spanSet > 0)
{
changeClass();
spanSet--;
}
function changeClass(){
$('#'+spanId).addClass("hilite");
setTimeout(remove, 3000);
}
function remove(){
$('#'+spanId).removeClass("hilite");
spanId++;
return true;
}
最佳答案
function changeClass(){
$('#'+spanId).addClass("hilite");
setTimeout(remove, 1000);
spanId++;}
在此代码中,您应该在回调函数中执行
spanId++
,该函数作为参数传递给setTimeout,因为JS在完成setTimeout语句之前不会停止执行。因此,您的代码应如下所示:
function changeClass(){
$('#'+spanId).addClass("hilite");
setTimeout(remove, 1000);
}
function remove(){
$('#'+spanId).removeClass("hilite");
spanId++;
return true;
}