滚动功能无法正常工作

时间:2015-05-09 02:39:24

标签: javascript jquery html

我正在开发一个带有jquery的插件,它会缩小特定scrollTop滚动菜单。我使用scrollTop函数来获得最高值;它在控制台上正确显示当前位置。但下一步有问题。我的代码是:

;(function($) {

    'use strict'

    $.fn.orvilnav = function( options ){
        var defaults = {
            menuShrinkable : true,
            menuChanageOn : 40
        },

        options = $.extend(defaults, options);


        var menuShrinks = defaults.menuShrinkable,
            menuChangeOn = defaults.menuChangeOn,

            menu        = $(this),
            scrolled    = false,
            yPosition   = $(window).scrollTop();


            $(window).on('scroll', function(){
                if(menuShrinks){
                    if(yPosition > menuChangeOn){
                        console.log('ok');
                    }
                }
            })
    }

})(jQuery);

我的代码实现是

$('nav.orvilnav').orvilnav();

此处menuChangeOn是scrollTop菜单将更改的选项。 但它没有安慰'ok':(

1 个答案:

答案 0 :(得分:0)

你必须在默认值中修正拼写错误:

var defaults = {
    menuShrinkable : true,
    menuChangeOn : 40 // not menuChanageOn
},

然后尝试使用:

if($(window).scrollTop() > menuChangeOn){
    console.log('ok');
}

yPosition = $(window).scrollTop();永远不会在on scroll事件中更改。

是的,我认为您的menuShrinks = defaults.menuShrinkable应为menuShrinks = options.menuShrinkable

查看演示小提琴http://jsfiddle.net/jathvd9c/2/