完成动画,然后滚动到div

时间:2014-02-14 16:46:08

标签: jquery scroll

好的,这个人有我。我正在尝试让我的页面在元素上运行一系列连续动画,当它完成时,然后滚动到名为START的div。我有动画位下来,但整个自动滚动的东西让我击败。不管我偷了什么代码并试过,它都没用。

任何人都指出我正确的方向?这是我在底部尝试的代码:

$(function () {
    $("a.engine").click(function () {
        $("div.intro_image").removeClass("intro_effects");
        $("body").animate(500).css({
            "overflow": "auto"
        });
        $("div.menu_container").delay(600).animate(500).removeClass("hide");
        $('a.engine').contents().unwrap();

    });

    function scrollToAnchor(aid) {
        var aTag = $("a[name='" + aid + "']");
        $('html,body').animate({
            scrollTop: aTag.offset().top
        }, 'slow');
    }

    $("a.engine").click(function () {
        scrollToAnchor('start');
    });

});

1 个答案:

答案 0 :(得分:0)

尝试使用setTimeout

  $(function () {
  $("a.engine").click(function () {
    $("div.intro_image").removeClass("intro_effects");
    $("body").animate(500).css({
        "overflow": "auto"
    });
    $("div.menu_container").delay(600).animate(500).removeClass("hide");
    $('a.engine').contents().unwrap();
    setTimeout(function(){
     scrollToAnchor('start');
     },1100);
});

function scrollToAnchor(aid) {
    var aTag = $("a[name='" + aid + "']");
    $('html,body').animate({
        scrollTop: aTag.offset().top
    }, 'slow');
}

});

并在调试器中检查aTag.offset()。top的值。