我正在开发一个带有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':(
答案 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
。