Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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 在另一个元素下面获取元素?_Javascript_Jquery_Html_Scroll_Detect - Fatal编程技术网

Javascript 在另一个元素下面获取元素?

Javascript 在另一个元素下面获取元素?,javascript,jquery,html,scroll,detect,Javascript,Jquery,Html,Scroll,Detect,只是想知道解决这个问题的最好方法 假设我有一个固定的导航条,垂直居中 当我滚动时,我想找出导航条后面的元素 假设我有这样一个导航: <nav> <ul> <li><a href="#about"></a></li> <li><a href="#services"></a></li> <li><a href

只是想知道解决这个问题的最好方法

假设我有一个固定的导航条,垂直居中

当我滚动时,我想找出导航条后面的元素

假设我有这样一个导航:

<nav>
    <ul>
        <li><a href="#about"></a></li>
        <li><a href="#services"></a></li>
        <li><a href="#contact"></a></li>
    </ul>
</nav>
然后是这样的章节:

<section id="about"></section>
<section id="services"></section>
<section id="contact"></section>
如果我给它们一个固定的高度,比如说1000px,这样我们就可以正确地滚动,那么我如何检测导航栏何时位于“服务”部分,这样我就可以附加一个活动类等

我打算从文档顶部检测滚动位置,并将其与各部分的顶部位置进行比较,我可以从那里找到导航栏的位置,但这是解决这个问题的最佳方法吗


示例:

是的,这是解决这个问题的最佳方法。使用与fiddle相同的方法。只需循环不同的DOM元素并附加一个事件处理程序,而不是在给定条件为true时启动。