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更改,这是个好主意