Jquery 如何使用间隔更改文本

Jquery 如何使用间隔更改文本,jquery,Jquery,我有以下代码,它使用文本数组来更改跨度内的文本: var text=[“你好”,“你好”,“你好”]; var计数=0; 函数changeText(){ $(“#示例”).text(text[count]); 计数

我有以下代码,它使用文本数组来更改跨度内的文本:

var text=[“你好”,“你好”,“你好”];
var计数=0;
函数changeText(){
$(“#示例”).text(text[count]);
计数<3?计数++:计数=0;
}
设置间隔(changeText,500)

打招呼:-)


测试
完成循环后,清除间隔

var text=[“你好”,“你好”,“你好”,“你好”];
var计数=0;
函数changeText(){
$(“#示例”).text(text[count]);
计数<3?计数++:重置();
}
函数重置(){
间隔时间;
$(“#示例”).text($(“#示例”).text()+“:-”);
$(“#show”).show();
}
var间隔=设置间隔(changeText,500)

打招呼


测试显示在末尾
当循环计数为4时,使用
clearInterval()

var text=[“你好”,“你好”,“你好”,“你好”];
var计数=0;
var区间=”;
函数changeText(){
$(“#示例”).text(text[count]);
计数<4?计数++:stopLoop();
}
间隔=设置间隔(changeText,500);
函数stopLoop(){
清除间隔(间隔)
}

打招呼:-)



清除间隔,让最后一个文本具有:)

var text=[“你好”,“你好”,“你好:-”)”;
var计数=0;
var-tId;
函数changeText(){
如果(计数>=3){
净空时间间隔(tId);
$(“#show”).show();
}  
else$(“#示例”).text(text[count]);
计数++;
}
tId=设置间隔(changeText,500)

打招呼


测试
  • 我不建议使用setInterval
  • 如果可以使用lodash,请使用u.delay函数。否则,请使用setTimeout函数。为了简单起见,我将使用下面的setTimeout函数
  • var text=[“你好”,“你好”,“你好”,“你好:-)”];
    var计数=0;
    函数changeText(){
    $(“#示例”).text(text[count]);
    如果(计数==(text.length-1)){
    $(“#显示”).css(“显示”、“内联块”);
    }否则{
    $(“#显示”).css(“显示”、“无”);
    }
    setTimeout(函数(){
    计数=(计数<文本长度)?计数+1:0;
    changeText();
    }, 1000);
    }
    $(文档).ready(函数(){
    changeText();
    });
    


    测试
    您需要使用
    clearInterval()不要重复,谢谢你的评论@mplungjan。我已经更新了我的答案。效果很好!你知道笑脸和div吗?谢谢为了简单起见,加载一个额外的库以不使用内置的setInterval???这是对代码
    if(count==(text.length-1)){$(“#show”).css(“display”,“inline block”);}或者{$(“#show”).css(“display”,“none”);}
    $(“#show”).toggle(count==(text.length-1))的浪费和测试
    在我看来更优雅,如果你真的想在世界各地每次都进行测试的话loop@mplungjan我们可以就是否使用setInterval达成一致意见。至于if,else语句,由于这个问题是由初学者提出的,所以我保持它的可读性。我们总是可以优化代码,但这是否意味着其他人(特别是初学者)会理解?这个初学者似乎使用三元运算符。向他们展示jQuery的简化使用,而不是您建议的CSS更改,这是个好主意