首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTML Anchor Plus Javascript滚动

HTML Anchor Plus Javascript滚动
EN

Stack Overflow用户
提问于 2015-02-25 00:53:51
回答 1查看 75关注 0票数 0

当我点击“转到第二部分”时,我希望它转到锚点,然后垂直滚动一个给定的量(这里是50px)的. So,发生的情况是,它将锚点放在页面顶部,但它不会执行额外的调整滚动。为了看到这一点,你必须用大量的文本填充这两个段落块。

代码语言:javascript
复制
<html>
    <head>
        <script>
            function scrollxy(dx,dy) { 
                window.scrollBy(dx,dy); 
            }
        </script>
    </head>
    <body>
        <p><a href="#anchor2" onClick="scrollxy(0,-50);">Go to Section 2</a></p>
        <h2>Section 1</h2>
        <p>Lots of text ...</p>
        <a id="anchor2"></a> 
        <h2>Section 2</h2>
        <p>Lots of text ...</p>
    </body>
</html>
EN

回答 1

Stack Overflow用户

发布于 2015-02-25 01:10:06

问题是您的onClick函数在锚点向下滚动之前被调用。你必须延迟脚本的执行,才能让它正常工作:

代码语言:javascript
复制
       function scrollxy(dx,dy) { 
            setTimeout(function() {
               window.scrollBy(dx,dy);
            }, 10);
        }

代码语言:javascript
复制
    <p><a href="#anchor2" onClick="scrollxy(0,50);">Go to Section 2</a></p>

这是一个FIDDLE

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28701644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档