Jquery 标签上的默认操作延迟

Jquery 标签上的默认操作延迟,jquery,jquery-animate,delay,Jquery,Jquery Animate,Delay,是否可以延迟默认操作 我有这个链接,在我点击它之后,我会显示一个隐藏的div和内容。然后我想用我的屏幕向下滑动到那个div,所以新的div在我的屏幕上,但我的问题是,在我点击按钮后,div需要一些时间来动画化,因此我需要一些延迟,以便在div变为可见后滚动条将启动 我犯了一个错误 HTML <div class="wrapper"> <div class="first-div"> <a href="#">Link1</a>

是否可以延迟默认操作

我有这个链接,在我点击它之后,我会显示一个隐藏的div和内容。然后我想用我的屏幕向下滑动到那个div,所以新的div在我的屏幕上,但我的问题是,在我点击按钮后,div需要一些时间来动画化,因此我需要一些延迟,以便在div变为可见后滚动条将启动

我犯了一个错误

HTML

<div class="wrapper">
    <div class="first-div">
        <a href="#">Link1</a>
        <a id="activate-two" href="#second">Link2</a>
        <a href="#">Link3</a>
    </div>
    <div class="second-div" id="second">
        <a id="activate-three" href="#third">Link1</a>
        <a href="#">Link2</a>
        <a href="#">Link3</a>
    </div>
    <div class="third-div" id="third">
        <a href="#">Link1</a>
        <a href="#">Link2</a>
        <a id="activate-four" href="#">Link3</a>
    </div>
</div>
JQUERY

$(document).ready(
    function(){
        $("#activate-two").click(function(){
            $("#second").animate({
            height:'show'
            });
        });
        });

您不需要延迟,您需要利用
.animate
回调函数:

$("#activate-two").click(function(){
    $("#second").animate({
        height:'show'
    }, function() {
        //Fire your scroll function here!
    });

不要使用延迟,就像这样-使用回调


jQuery动画具有一个在动画完成时将触发的属性。然后,您可以滚动到对象的最终位置。

这可能会帮助您:

$("#activate-two").click(function(){
   $("#second").show("100",function(){
      $('html, body').animate({ scrollTop: $("#second").offset().top }, 'slow');
   })
});

下面是一个更新的

Does.delay()不起作用吗?这看起来很完美!我稍后会测试,然后回来。非常感谢您更新小提琴。
$("#activate-two").click(function(){
   $("#second").show("100",function(){
      $('html, body').animate({ scrollTop: $("#second").offset().top }, 'slow');
   })
});