延迟执行jQuery后开始函数

4

我会在父元素上设置一个延迟,然后对两个元素进行动画处理。 HTML可能像这样:

<div id='daddy'>
 <span id='text'>some text</span><a id='link'>a link</a>
</div>

我需要类似这样的东西来调用“函数”。
$("#daddy").fadeIn(300).delay(10000).function()
{
 $("#text").animate({[some stuff]});
 $("#link").animate(
  {
    [some stuff],
    [some other]
  });
}

我尝试查看.trigger("myPersonalEvent")并创建自定义事件,但我认为这不是执行我所需的操作的正确方法......一个好主意可能是允许延迟后调用回调,但这不可能实现。
我还附加了一段假动画,在之后调用一个回退,但这种解决方案也不太令人兴奋......
有更好的方法吗?

我发现类似问题的答案很有用:https://dev59.com/4msz5IYBdhLWcg3wbHAw - Pow-Ian
1个回答

3

我会在fadeIn的回调函数中使用setTimeout

$("#daddy").fadeIn(300, function () {   
    setTimeout(function()
    {
        $("#text").animate({[some stuff]});
        $("#link").animate(
        {
            [some stuff],
            [some other]
        });
    }, 10000);
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接