Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS将项目滚动到视图中不工作_Javascript_Jquery_Scroll - Fatal编程技术网

Javascript JS将项目滚动到视图中不工作

Javascript JS将项目滚动到视图中不工作,javascript,jquery,scroll,Javascript,Jquery,Scroll,我在将打开的手风琴项目滚动到手风琴所在容器的顶部时遇到问题。或者,滚动到视图中。 例如: 我有一个DIV,里面有手风琴。 DIV高度固定为260px,而且手风琴项目比容器容纳的多,因此自然会有卷轴。 如果用户希望展开div中可见的最后一个项目,它将打开,但将展开的内容保留在视野之外,然后用户必须向下滚动才能看到它。 如何使扩展内容进入视图? 限制: 无法依赖DOM作为引用,因为这样会影响整个DOM滚动,而不是DIV滚动。 这就是我的代码: 关于要素: 脚本: 被注释掉的部分是我试过但不起作用的部

我在将打开的手风琴项目滚动到手风琴所在容器的顶部时遇到问题。或者,滚动到视图中。 例如: 我有一个DIV,里面有手风琴。 DIV高度固定为260px,而且手风琴项目比容器容纳的多,因此自然会有卷轴。 如果用户希望展开div中可见的最后一个项目,它将打开,但将展开的内容保留在视野之外,然后用户必须向下滚动才能看到它。 如何使扩展内容进入视图? 限制: 无法依赖DOM作为引用,因为这样会影响整个DOM滚动,而不是DIV滚动。 这就是我的代码: 关于要素:

脚本: 被注释掉的部分是我试过但不起作用的部分。 在调试器中,我已经检查了脚本的每一行,它按照预期工作,直到需要将所需的元素滚动到view/to top

    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);
    }
}
更新-小提琴:

你能摆好小提琴吗?根据描述,很难理解您试图实现的目标。您有onclick=scrollTr;在小提琴中,但没有定义scrollTr。这与单击不同。。。但我删除了它,并更新了小提琴,以避免进一步的混乱。
    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);
    }
}