2

我正在使用 scrollTo 插件滚动到某些标题。问题它只会以小增量向上滚动,这取决于浏览器窗口的高度。它似乎无法识别我正在使用的 id。

单击此处查看页面,您需要滚动到页面底部并用两根手指选择项目。您需要手动向下滚动并单击右侧的链接才能看到上述行为(抱歉有点复杂)。

4

3 回答 3

2

无需为此使用插件。

试试下面的代码 -

   $('html').animate({
    scrollTop: $('#id where you want to scroll').offset().top
    }, 2000);
于 2010-10-20T13:28:23.213 回答
2

我用这个小片段来scolling

    ///  <summary>
    ///     Scrolls the page to a single matched element.
    ///     Limitations: The document can only scroll a maximum of it's height. If an element is at the bottom of a page with nothing
    ///     below it then it cannot move that element to the top of the page as nothing exists to fill the space.
    ///  </summary>
    ///  <param name="target" type="String">
    ///     The element to scroll to
    ///  </param>
    ///  <param name="padding" type="Integer">
    ///     The padding to add to the scrolling destination. Negative values reduce the scrolling distance.
    ///  </param>
    ///  <param name="speed" type="Integer">
    ///     The the speed at which to perform the animation. Positive integers only.
    ///  </param>
    function scrollTo(target, padding, speed) {

        // Define our variables.
        var target_offset, target_top;

        // Fix our value to add the selector.
        if (target.indexOf("#") == -1) {
            target = "#" + target;
        }

        // Get the top offset of the target anchor and add any necessarry padding.
        target_offset = $(target).offset();
        target_top = target_offset.top + padding;

        // Scroll to that anchor by setting the body to scroll to the anchor top.
        $("html").animate({ scrollTop: target_top }, speed);
    }
于 2010-10-20T13:47:40.023 回答
0

谢谢你们俩的回答。我发现问题是我用 CSS 隐藏了我的名称标签的父 div 并用 JS 显示。这导致浏览器不知道如何定位名称标签(或类似的东西)。我从 CSS 中删除了 display:none,瞧!

于 2010-10-21T16:19:18.713 回答