首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当一个元素靠近另一个元素时,jQuery -Change()或position()保存元素的属性

问当一个元素靠近另一个元素时,jQuery -Change()或position()保存元素的属性
EN

Stack Overflow用户
提问于 2011-11-05 02:05:29
回答 1查看 811关注 0票数 1

我想有一个导航栏设置position: fixed到我的窗口顶部,与平滑滚动到不同部分的链接。

我已经让平滑的滚动部分工作得很好。接下来,我想在导航栏向下滚动屏幕时更改它的颜色。我想要切换/动画类似这样的东西:

向下滚动到Section2 =动画到黄色导航栏时,向下滚动到Section3 =动画黄色>红色导航栏

我可以很容易地通过click方法实现这个效果(当点击#section2时,改变CSS),但是如果用户向下滚动屏幕-而不使用导航栏中的链接,我如何让它改变呢?

到目前为止,我得到的结果是:http://jsfiddle.net/saltcod/4xkbs/2/

谢谢!

泰瑞

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-05 04:22:16

您可以处理scroll事件,然后在事件处理程序中获取各个部分的偏移量,以查看y坐标是否位于导航列表的上方。类似于:

代码语言:javascript
复制
$(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
    }
}

绑定到jsFiddle中的$(window).scroll似乎不起作用,所以我没有测试这段代码。

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

https://stackoverflow.com/questions/8013844

复制
相关文章

相似问题

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