当特定部分在屏幕上时toggleClass [英] toggleClass when specific section is on screen

查看:18
本文介绍了当特定部分在屏幕上时toggleClass的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在制作一个大滚动页面.我的导航是固定的.当导航到达我页面上的特定部分时,我想更改导航上的颜色(从黑色到白色,反之亦然).因为有些是白色的,有些是黑色的——我想对比一下.我已经在 css 中创建了一个应该切换的类.但是我在使用我的代码时遇到了困难.看一看:

https://jsfiddle.net/Lp27vuu4/

$(window).scroll(function (event) {var scroll = $(window).scrollTop();$('nav').toggleClass('light-mode',//当div位置匹配或超过时添加'light-mode'类,否则删除'light-mode'类.滚动 >= $('.section2').offset().top);});//触发滚动$(window).scroll();//确保页面刷新时是否在当前位置

body {边距:0px;填充:0px;}导航{宽度:100%;位置:固定;文本对齐:居中;填充顶部:20px;填充底部:20px;}.light-mode {颜色:#fff;}.section1 {宽度:100%;高度:400px;背景色:#fff;颜色:#000;填充:100px;}.section2{宽度:100%;高度:400px;背景色:#000;颜色:#fff;填充:100px;}.section3 {宽度:100%;高度:400px;背景色:#fff;颜色:#000;填充:100px;}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><导航><h3>导航链接</h3></nav>
第 1 节</节>
第 2 节</节>
第 3 节</section>

结论:

默认情况下,我的导航是深色的.当我到达黑暗的部分时,我想告诉 jQuery 添加 class .light-mode

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆