【问题标题】:Dynamically add class when sections hit top of page当部分到达页面顶部时动态添加类
【发布时间】:2013-11-14 06:43:36
【问题描述】:

我正在开发一个网站,并想在页面中添加一些 jQuery 功能。基本上,该页面有一个带有菜单的侧边栏(显示这一页的所有部分)。我添加了当您单击菜单项时,主要部分会向下滚动到正确部分的功能。

当使用 jQuery 单击这些菜单项时,我设法在这些菜单项上添加了一个活动类。见:

$('#category-list li a').click(function(){
    $('#category-list li a').removeClass("category-list-active");
    $(this).addClass("category-list-active");
});

但我想在用户向下滚动页面时添加相同的功能(也就是当一个部分到达页面顶部时,相应的菜单项获取活动状态类)。

由于该网站正在为客户开发,我无法真正展示它,但如果需要,我可以重新创建类似的东西。

提前致谢,

  • 安迪

【问题讨论】:

  • 您需要为窗口滚动添加一个处理程序(并可能调整大小)并根据它们的位置和页面的滚动位置计算屏幕上的哪些元素。

标签: javascript jquery html css


【解决方案1】:

你可以试试这样的

var fl = $("#your-section").offset().top;
$(window).scroll(function() {
  if(this.scrollTop() > fl) {
    // do your stuff
   }
 })

您可能必须使用偏移量来找到应该发生过渡的确切位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多