Javascript setTimeout 运行两次?

标签 javascript jquery settimeout setinterval

$(document).ready(function(){
    $('#home-buzz-1').fancyTypewriter({type:true, steps:3, timeBetweenSteps:25, 'mouseOver': false, underScore:true});

    setTimeout("$('#home-buzz-2').css('display','inline');$('#home-buzz-2').fancyTypewriter({type:true, steps:3, timeBetweenSteps:25, 'mouseOver': false, underScore:true});",3000);

    setTimeout("$('#home-buzz-3').css('display','inline');$('#home-buzz-3').fancyTypewriter({type:true, steps:3, timeBetweenSteps:25, 'mouseOver': false, underScore:true});",4500);
});

我正在尝试使用 Fancy Typewriter 插件在此页面上编写动画脚本 - 该插件将文本放入元素内,并用它制作漂亮的打字动画。但是最后两个具有 setTimeout 函数的 div 运行了两次。我的想法是,我想要一个 div 进行动画处理,然后在前一个 div 完成后让下一个 div 进行动画处理。有什么想法吗?

最佳答案

您不应该将字符串传递给 setTimeout 函数,请尝试以下操作:

$(document).ready(function(){
    $('#home-buzz-1').fancyTypewriter({type:true, steps:3, timeBetweenSteps:25, 'mouseOver': false, underScore:true});

    setTimeout(function(){
        $('#home-buzz-2').css('display','inline');
        $('#home-buzz-2').fancyTypewriter({type:true, steps:3, timeBetweenSteps:25, 'mouseOver': false, underScore:true});}
    ,3000);

    setTimeout(function(){
        $('#home-buzz-3').css('display','inline');
        $('#home-buzz-3').fancyTypewriter({type:true, steps:3, timeBetweenSteps:25, 'mouseOver': false, underScore:true});}
    ,4500);
});

关于Javascript setTimeout 运行两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12372122/

相关文章:

javascript - header 访问控制允许来源 :* not working properly on Spring MVC

javascript - Fancybox打不开

javascript - 返回同一页面后如何重置复选框,然后在浏览器中按“返回”

javascript - 使用Javascript使输入框在用户输入后3秒内可编辑

javascript - 运行时在其自己的函数内清除超时

javascript - 本地存储中的重复条目 - Javascript

javascript - 如何在 javascript 中使用 youtube 数据 api 获取观看次数?

javascript - setTimeout() 不适用于 jQuery(this)

javascript - 我可以隐藏 Tumblr 主博客中的所有帖子,同时保持它们在路由页面中不隐藏吗?

javascript - 如何在 onClick 事件后设置 prop 的属性?