为什么我根本无法使用 jquery-visible 插件?

Why can't I get the jquery-visible plugin to work at all?

Complete SSCCE JSFiddle here!

我要的是:

  1. 当页面向下滚动到顶部的程度时 页面(高度等于视口的高度)不再可见, 应将 CSS class(示例中的 sticky)添加到 header 菜单 .header-menu-container-nav.

  2. 然后当用户开始向上滚动时, 页面的一部分(页面的最顶部,高度相等 到视口的高度 ),即 .firstpage div 来自 例如我相信,向下滚动时触发的事件应该是 删除并且 class sticky 应该被删除。

我是怎么做到的:

使用jquery-visible plugin:

jquery-visible 插件似乎根本不起作用。

我在我的 HTML <head> 中添加了 jquery-visible 插件(在解压缩从此处下载的 .zip 到项目文件夹后),如下所示:

<script src="jquery-2.1.3.js"></script>
    <script type="text/javascript" src="jquery-visible-master/jquery.visible.js"></script>

请告诉我我做错了什么?以及如何让它发挥作用?

我的代码:

/**
* Function for the header's drama!
**/
$(window).bind('scroll', function(){

    var lastScrollTop = 0;
    var originalHeaderPosition =  $(".header-menu-container-nav").offset().top;

    var scrollTop = $(this).scrollTop();
    var vph = $(window).height();

    var currentHeaderPosition = $(document).scrollTop();
    var deltaHeaderPosition = currentHeaderPosition - originalHeaderPosition;

    if (scrollTop > lastScrollTop){ // downscroll code
        if (deltaHeaderPosition >= vph) {
            $('.header-menu-container-nav').addClass('sticky');
            $('.header-menu-container-nav').fadeIn();
        }
    } else {// upscroll code
        if ($('firstPage').visible(true)) {//*******************
            $('.header-menu-container-nav').fadeOut(function() {
                $('.header-menu-container-nav').attr('style','');
                $('.header-menu-container-nav').removeClass('sticky');
            });
        }
    }
       lastScrollTop = scrollTop;
});

您缺少“.”在以下必须提到的行中 class.

 $('firstPage').visible(true)
 $('sticky').css('top', 0+'px');

请参阅 here,我在您的 javascript 中添加了原始 Jquery-visible-min 并编辑了您的代码。