javascript - 事件类未打开 JS 导航点

标签 javascript html css nav squarespace

我一直在使用这个 code snippet将垂直点导航添加到单页站点,单击其中一个链接时它会平滑滚动到某个部分,并在事件部分保持突出显示。我对 css 做了很多调整以使其看起来像我想要的那样,然后替换了这些部分。

出于某种原因,第四个和第五个点上的事件类没有按照应有的方式使用react,并且当您选择第四个点时,第四个和第五个点都会突出显示。我在一些设备上测试过它,它们都做同样的事情。它在 jsfiddle 上工作正常,但 squarespace 网站看起来像 this ,所以希望有人能够帮助/告诉我是什么让它行为不端。

Squarespace link

Jsfiddle with my code ,下面粘贴js代码。

$(document).ready(function(){
$('.awesome-tooltip').tooltip({
    placement: 'left'
});   

$(window).bind('scroll',function(e){
  dotnavigation();
});

function dotnavigation(){

    var numSections = $('section').length;

    $('#side-nav li a').removeClass('active').parent('li').removeClass('active');     
    var sections = $('section');
    var i = 0;
    for (i = 0; i < sections.length; i++)  {

      var ele = $(sections[i]), nextTop;

      //console.log(ele.next().html());

      if (i < sections.length - 1) {
        nextTop = Math.floor($(sections[i + 1]).offset().top);
      }
      else {
        nextTop = $(document).height();
      }

      if (ele.offset() !== null) {
        thisTop = Math.floor(ele.offset().top - ((nextTop - ele.offset().top) / numSections));
      }
      else {
        thisTop = 0;
      }

      var docTop = $(document).scrollTop();

      if(docTop >= thisTop && (docTop < nextTop)){
        console.log(docTop + ":" + thisTop  + ":" + nextTop );
        $('#side-nav li').eq(i).addClass('active');
      }
    }
}

/* get clicks working */
$('#side-nav li').click(function(){

    var id = $(this).find('a').attr("href"),
      posi,
      ele,
      padding = 0;

    ele = $(id);
    posi = ($(ele).offset()||0).top - padding;

    $('html, body').animate({scrollTop:posi}, 'slow');

    return false;
});

先谢谢各位 friend

最佳答案

您的最后 2 个部分的高度似乎不大,无法在视口(viewport)顶部触发。 尝试将 height max 赋予窗口高度。

关于javascript - 事件类未打开 JS 导航点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49082457/

相关文章:

javascript - 获取没有特定属性的对象

javascript - 单击时使用 javascript 添加多个文本阴影规则

javascript - 扩展独占联合的 typescript 通用参数

javascript - Angular 1.5 在 ng-repeat 上隐藏重复值

javascript - 展平阵列有哪些实际应用?

html - 使div在固定侧边栏(css)内可滚动

javascript - 如何计算元素绝对定位的容器的大小?

html - 调整导航宽度?

css - 框阴影不适用于部分

css - Mootools 不在隐藏的 tr 中显示 colspan td