Javascript jQuery inview未检测到当前项

Javascript jQuery inview未检测到当前项,javascript,jquery,css,inview,Javascript,Jquery,Css,Inview,我正在尝试重新创建一种类似于基金会麦哲伦导航(或此)的行为,在这里我使用inView()来检测当前部分。我似乎无法检测当前项并获取其类名以用作导航的选择器。该插件已经存在于项目中,所以我只是利用它的存在 到目前为止,我的情况如下: 我无法理解。你能不能把你提供的代码缩短到相关的部分,或者在代码中评论一下发生了什么,出了什么问题?嗨,Goose,谢谢你的关注。基本上,我只是尝试检测当前正在查看的部分,然后获取它的id,作为选择li的选择器。该节使用“id”选择器,而导航项使用“类”选择器。当我要知

我正在尝试重新创建一种类似于基金会麦哲伦导航(或此)的行为,在这里我使用inView()来检测当前部分。我似乎无法检测当前项并获取其类名以用作导航的选择器。该插件已经存在于项目中,所以我只是利用它的存在

到目前为止,我的情况如下:


我无法理解。你能不能把你提供的代码缩短到相关的部分,或者在代码中评论一下发生了什么,出了什么问题?嗨,Goose,谢谢你的关注。基本上,我只是尝试检测当前正在查看的部分,然后获取它的id,作为选择li的选择器。该节使用“id”选择器,而导航项使用“类”选择器。当我要知道当前部分的id时,我可以用它来定位li的类并在其中添加一个“活动”类。我很难理解。你能不能把你提供的代码缩短到相关的部分,或者在代码中评论一下发生了什么,出了什么问题?嗨,Goose,谢谢你的关注。基本上,我只是尝试检测当前正在查看的部分,然后获取它的id,作为选择li的选择器。该节使用“id”选择器,而导航项使用“类”选择器。当我想知道当前部分的id时,我可以用它来定位li的类并在其中添加一个“活动”类。
    $('section').bind('inview', function(e, isInView, visiblePartX, visiblePartY) {
        var elem = $(this);
        var curItemId = elem.attr('id');
        var mainNav = $("#main-navigation ul");

        if (elem.data('inviewtimer')) {
          clearTimeout(elem.data('inviewtimer'));
          elem.removeData('inviewtimer');
        }

        if (isInView) {
          elem.data('inviewtimer', setTimeout(function() {
;
            if (visiblePartY == 'top') {
              elem.data('seenTop', true);
            } else if (visiblePartY == 'bottom') {
              elem.data('seenBottom', true);
            } else {
              elem.data('seenTop', true);
              elem.data('seenBottom', true);
            }

            if (elem.data('seenTop') && elem.data('seenBottom')) {

        console.log( $(elem).attr('id') );

              mainNav.find('li').removeClass('active');
              mainNav.find('.' + id ).addClass('active');

            }
          }, 0));
        }
    });