JS滚动项目进入视图不起作用

时间:2014-12-03 15:41:17

标签: javascript jquery scroll

我遇到了将打开的手风琴项目滚动到手风琴所在容器顶部的问题。或者,滚动到视图。 例如: 我有一个DIV,里面有手风琴。 DIV高度固定为260px,并且手风琴项目比容器可以容纳的多,所以自然有滚动。 如果用户想要展开div中可见的最后一项,则会打开,但会将展开的内容从视野中删除,然后用户必须向下滚动才能看到它。 如何使扩展的内容进入视图? 限制: 不能依赖DOM作为参考,因为整个DOM滚动受到影响而不是DIV滚动。 这就是我在代码方面的含义: 关于元素:

    onclick='setInScrollViewIfNeeded(this);'

脚本: 被注释掉的部分是我尝试过但没有用的部分。 在调试器中,我已经浏览了脚本的每一行,它按预期工作,直到需要将所需元素滚动到视图/顶部。

    function setInScrollViewIfNeeded(elem) {
    var isExpanded = $(elem).attr("aria-expanded");
    var expandingElem = $(elem).attr("href");
    expandingElem = expandingElem.substring(1)
    if (isExpanded == "true") {

    }
    else {
        var el = document.getElementById(expandingElem);
        //el.scrollIntoView(true);
        //$(el).animate({ scrollTop: 0 }, "fast");
        // $(el).scrollTop(0);
    }
}

更新 - 小提琴: http://jsfiddle.net/ag050ozs/

0 个答案:

没有答案