我希望每次单击一个按钮时一个接一个地显示4个文本元素。这是我用来实现该目标的代码...
$('.btn').click(function(){
$('.text').css({ 'opacity': '0' });
function loadText(){
var textNo = 1;
function nextText(){
$('.text'+textNo).animate({ 'opacity': '1' }, 400);
textNo += 1;
}
if (textNo <= 4){
nextText();
};
}
setTimeout(loadText, 300);
});
我希望
nextText()
函数重复4次,尽管再次调用它似乎没有任何效果。我错过了这里明显的东西吗?您可以在有限的时间内在这里看到它:http://thetally.efinancialnews.com/tallyassets/ceo-survey/index.html
我现在部分地意识到了这个问题。调用nextText时,该函数内部没有任何内容可以再次运行它。您可以在函数内调用函数吗?
最佳答案
您需要使用setInterval方法而不是setTimeout方法。因此,替换为:
setTimeout(loadText, 300);
有了这个:
setInterval(loadText, 300);
关于javascript - jQuery中的变量更改后重复功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30979662/