通过单击元素内的锚点或包含div ID的任何地方,将元素滚动到页面顶部

现代

我想在单击导航div ID内的任何链接或(如果可能)单击包含导航链接的div ID本身中的任何位置时,将页面滚动到例如导航div ID的顶部。

我已经研究过了,最接近的是jQuery-单击时如何将锚点滚动到页面顶部?但是由于某种原因,当我在示例中尝试执行此操作时,它似乎不起作用。我究竟做错了什么?

我是jQuery的新手,并且在html和css方面是中等的(并且使用了div的内联样式,因为我不想仅为示例提供单独的css)。

当我从jQuery加载html和脚本时-如何在单击时将锚点滚动到页面顶部?在Aptana中,它也不滚动。即使div类上方有一个内容div,它也有空间可以滚动到所有位置。

我在有关的div中包括了两个小段,以准确解释我的意思。

很感谢任何形式的帮助。谢谢。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

<script>
        $('#scroll_navigation ul li').click(function() {
             $('html,body').animate({scrollTop: $(this).offset().top}, 800);
        }); 
    </script>

<body>

<div id="logo" style="margin: 0 auto; height: 300px; width: 60%; border: 1px solid #000">Logo</div>

    <div id="scroll_navigation" style="margin: 0 auto; width: 40%; border: 4px solid #225599">

        <p>Scroll navigation to top of page</p>
        <p>Catch any clicks in "#scroll_navigation" to scroll the div id to the top of the page</p>


            <div id="navigation">

                <div class="container" style="margin: 0 auto; height: 220px; width: 60%; border: 1px solid #000">

                    <ul>
                        <p>Catch clicks on anchors to scroll the div id to the top of the page</p>
                        <li><a href="#Portfolio" title="">Portfolio</a></li>
                        <li><a href="#Services" title="">Services</a></li>
                        <li><a href="#About" title="">About</a></li>
                        <li><a href="#Contact" title="">Contact</a></li>
                    </ul>

                </div>

            </div>

    </div>

<div id="content" style="margin: 0 auto; height: 1500px; width: 60%; border: 1px solid #000">Content</div>

</body>

编辑在Firefox中使用scrollTop时要当心。Animate scrollTop在firefox jQuery中不起作用jQuery scrollTop-Mozilla / Firefox中不支持负值花了我一段时间才能弄清楚我的代码还可以,但是scrollTop是FF中的问题。在同一示例中,也可以观察到该行为。向下滚动并固定锚点时,FF将向上滚动到目标div之前或之后2-4px的随机位置。

我现在正在使用Scrolld.js在主要浏览器上实现像素完美滚动到所需的点。据我所知,我不了解不同的浏览器引擎如何通过不同的输入(html或body)来呈现诸如通用滚动条之类的普通东西,而我是jQuery的新手。猜测这不是jQuery的“错误”,而是浏览器引擎如何呈现scrollTop。

词法

我不知道您是否这样做,但是您必须包括jquery才能使用它。另一件事是,您的“点击监听器”必须在jqueries文档就绪函数中,如下所示:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>

$(document).ready(function(){
    $('#scroll_navigation ul li').on('click', function(){
        $('html,body').animate({scrollTop: $(this).offset().top}, 800);
    }); 
});  

</script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从任何地方滚动Div

来自分类Dev

从任何地方滚动Div

来自分类Dev

jQuery-将元素滚动到屏幕中间,而不是通过锚点链接到顶部

来自分类Dev

检查jQuery单击的元素是否为包含img的锚点

来自分类Dev

使用javascript将元素正确滚动到页面顶部

来自分类Dev

防止锚点内单击DOM生成的元素时发生锚点行为

来自分类Dev

在任何地方单击时都隐藏元素,而无需检查每个DOM单击

来自分类Dev

单击框内任何地方,关闭

来自分类Dev

单击任何地方回家?

来自分类Dev

任何地方都包含搜索词的过滤器元素

来自分类Dev

如何允许 XML 元素通过 XSD 出现在任何地方?

来自分类Dev

jQuery单击除div之外的任何地方

来自分类Dev

在任何地方单击时,按钮弹出窗口中的X可编辑元素都会被隐藏

来自分类Dev

单击除指定班级以外的任何地方

来自分类Dev

在div的后代中的任何地方查找课程

来自分类Dev

单击锚点元素时更改span元素的文本

来自分类Dev

jQuery在div单击时无法滚动到元素的顶部

来自分类Dev

JQuery - 如果 div 在其后代中的任何地方都没有特定的 id

来自分类Dev

将元素滚动到溢出的父容器的顶部

来自分类Dev

将父级滚动到子元素的顶部

来自分类Dev

在Rainbow Wheel中无法单击锚点元素

来自分类Dev

使用元素ID Meteor滚动到页面上的元素

来自分类Dev

切换div-单击标题或任何地方以关闭

来自分类Dev

jQuery-在除指定选择器之外的任何地方单击上的fadeOut div?

来自分类Dev

即使页面不滚动,也将元素带到页面顶部

来自分类Dev

将元素固定在滚动页面的顶部

来自分类Dev

如何向下滚动页面,以便将指定的元素放在顶部?

来自分类Dev

如何在鼠标单击的任何地方使用Tkinter创建一个球?

来自分类Dev

在体内任何地方单击或触摸时,关闭Jquery滑动菜单

Related 相关文章

  1. 1

    从任何地方滚动Div

  2. 2

    从任何地方滚动Div

  3. 3

    jQuery-将元素滚动到屏幕中间,而不是通过锚点链接到顶部

  4. 4

    检查jQuery单击的元素是否为包含img的锚点

  5. 5

    使用javascript将元素正确滚动到页面顶部

  6. 6

    防止锚点内单击DOM生成的元素时发生锚点行为

  7. 7

    在任何地方单击时都隐藏元素,而无需检查每个DOM单击

  8. 8

    单击框内任何地方,关闭

  9. 9

    单击任何地方回家?

  10. 10

    任何地方都包含搜索词的过滤器元素

  11. 11

    如何允许 XML 元素通过 XSD 出现在任何地方?

  12. 12

    jQuery单击除div之外的任何地方

  13. 13

    在任何地方单击时,按钮弹出窗口中的X可编辑元素都会被隐藏

  14. 14

    单击除指定班级以外的任何地方

  15. 15

    在div的后代中的任何地方查找课程

  16. 16

    单击锚点元素时更改span元素的文本

  17. 17

    jQuery在div单击时无法滚动到元素的顶部

  18. 18

    JQuery - 如果 div 在其后代中的任何地方都没有特定的 id

  19. 19

    将元素滚动到溢出的父容器的顶部

  20. 20

    将父级滚动到子元素的顶部

  21. 21

    在Rainbow Wheel中无法单击锚点元素

  22. 22

    使用元素ID Meteor滚动到页面上的元素

  23. 23

    切换div-单击标题或任何地方以关闭

  24. 24

    jQuery-在除指定选择器之外的任何地方单击上的fadeOut div?

  25. 25

    即使页面不滚动,也将元素带到页面顶部

  26. 26

    将元素固定在滚动页面的顶部

  27. 27

    如何向下滚动页面,以便将指定的元素放在顶部?

  28. 28

    如何在鼠标单击的任何地方使用Tkinter创建一个球?

  29. 29

    在体内任何地方单击或触摸时,关闭Jquery滑动菜单

热门标签

归档