Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.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 jQuery offset()或position()—;更改元素';当靠近另一个元素时,将显示属性_Javascript_Jquery_Css - Fatal编程技术网

Javascript jQuery offset()或position()—;更改元素';当靠近另一个元素时,将显示属性

Javascript jQuery offset()或position()—;更改元素';当靠近另一个元素时,将显示属性,javascript,jquery,css,Javascript,Jquery,Css,我想在我的窗口顶部设置导航条position:fixed,带有平滑滚动到不同部分的链接 我的平滑滚动部件工作正常。接下来,我想更改导航栏在屏幕上向下滚动时的颜色。我希望切换/设置如下内容的动画: 当向下滚动到Section2=设置黄色导航栏的动画时 当向下滚动到Section3=设置黄色动画>红色导航栏时 我可以通过点击方法轻松实现这一效果(当点击#Section 2时,更改CSS),但是如果用户不使用导航栏中的链接而向下滚动屏幕,我如何让它更改 到目前为止,我已经做到了: 谢谢 Terry您可

我想在我的窗口顶部设置导航条
position:fixed
,带有平滑滚动到不同部分的链接

我的平滑滚动部件工作正常。接下来,我想更改导航栏在屏幕上向下滚动时的颜色。我希望切换/设置如下内容的动画:

当向下滚动到Section2=设置黄色导航栏的动画时 当向下滚动到Section3=设置黄色动画>红色导航栏时

我可以通过点击方法轻松实现这一效果(当点击#Section 2时,更改CSS),但是如果用户不使用导航栏中的链接而向下滚动屏幕,我如何让它更改

到目前为止,我已经做到了:

谢谢


Terry

您可以处理滚动事件,然后在事件处理程序中获取各部分的偏移量,以查看y坐标是否在导航列表上。比如:

$(window).scroll(function() {
    var bottom = $("#navcontainer").offset().top + $("#navcontainer").offset().height();
    if ($("#section3").offset().top <= bottom) {
        // Scrolled to or beyond section 3
    }
    else if ($("#section2").offset().top <= bottom) {
        // Scrolled to or beyond section 2, but not to section 3
    }
}
$(窗口)。滚动(函数(){
var bottom=$(“#navcontainer”).offset().top+$(“#navcontainer”).offset().height();

if($(“#section3”).offset().top太好了。非常感谢@dgvid,非常感谢您的帮助。