javascript - 如何在滚动页面时通过 jQuery 添加一些 CSS 类

标签 javascript jquery html css smooth-scrolling

我在 CodePen.io 创建了这支笔,点击 nav(导航)中的任何元素时,页面会平滑地滚动到不同的部分

这是 jQuery 代码。

// Smooth Scroll on clicking navigation items
$('nav a').click(function() {
  var $href = $(this).attr('href');
  $('body').stop().animate({scrollTop: $($href).offset().top}, 1000);

  // add class "active" to nav items on click
  $('nav a').removeClass('active');
  $(this).addClass('active');
  return false;
});

我已经在有人点击导航中的任何链接时添加了“active”类,但是当有人使用滚动条而不是点击链接滚动到该部分时如何添加类 active ?

看笔here

我们将不胜感激您的建议,在此先感谢您!

最佳答案

你可以看看这个fiddle

你必须使用事件卷轴

$(document).on("scroll", function(){ ... });

然后计算顶部位置的差异。

关于javascript - 如何在滚动页面时通过 jQuery 添加一些 CSS 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26026558/

相关文章:

javascript - 使用 mootools Fx 缩放背景大小

javascript - 为什么 W3C 验证程序在此 JS 代码上失败?

javascript - 如何在列表项的单击事件期间获取该列表项的索引?

html - Bootstrap - 一行中有一列水平滚动,而不是换行到下一行

php - PHP 中递归函数的替代方案(避免 100 次递归的限制)

javascript - jQuery 的 ReplaceWith 的原型(prototype)替代方案

javascript - Typescript 错误 "Property does not exist on type ' JSX.IntrinsicElements'"使用 native Web 组件时

jquery - CakePHP ajax 帖子不断返回 400 Bad Request

由于 <body> 标签中的 onload 事件,<head> 标签中的 javascript 无法正常工作

html - 具有多个 anchor 的单个列表项