jQuery scrollTo手风琴结束位置

时间:2012-03-07 16:32:29

标签: javascript jquery

我在一个页面上有多个手风琴,每个手风琴都有大量的文字。只能打开一支手风琴。我有scrollTo插件,当点击手风琴与手风琴的顶部对齐时,我正在设置scrollTo的动画。如果我有太多文字,则scrollTo不会与手风琴顶部对齐。有没有办法在动画开始前获得手风琴的结束位置?或者只是将滚动位置与手风琴对齐的分辨率?

$(".accordion h3").click(function () {
    var thisTrigger = $("span", this);
    var thisIntro = $(this).siblings(".intro");
    var thisPane = $(this).siblings(".pane");
    var otherIntros = $(this).parents(".parentClass").siblings().find(".intro");
    var otherPanes = $(this).parents(".parentClass").siblings().find(".pane");
    var otherHeaders = $(otherPanes).siblings(".current");
    var otherTriggers = $(otherHeaders).find("span");
    if ($(this).hasClass("current")) {
        $(this).removeClass("current");
        $(thisIntro).removeClass("open");
        $(thisPane).slideUp("fast");
    } else {
        $(this).addClass("current");
        $(thisIntro).addClass("open");
        $(thisPane).slideDown("fast");
        $(otherIntros).removeClass("open");
        $(otherHeaders).removeClass("current");
        $('html, body').animate({ scrollTop: $(this).position().top }, 500);
    }
});

1 个答案:

答案 0 :(得分:1)

此链接帮助了我: How to set scrollbar to top of section / forget scroll position

以下是我的代码:

//initializes accordion
$("#search").accordion({
    header: "h3"
    , fillSpace: true
    , active: activeIndex
    , change: function (event, ui) {
        var index = $(this).accordion("option", "active");
        $("[id$=_hdnAccordionIndex]").val(index);            
        $('.ui-accordion-content').scrollTop(0);            
    }
});