我下面有一个用于断开头的插件。基本上,该插件使引导程序的导航栏在断点后浮动。它非常简单,但是有些让我印象深刻的也许是您之一可以帮助我解决问题。
在代码中,我有var newBP
。现在,如果我添加Math.round,它可以解决问题。但是,如果我取出Math.round,它将在99处显示新的断点。但是,如果浏览器无法滚动到那么远,则您每次尝试滚动时页面都会不断地反弹。添加Math.floor,页面滚动良好。有什么想法吗?
要清楚,我不需要解决方案,更清楚原因是什么。
主插件
(function($){
$.fn.navBar1 = function( options ){
var elm = this;
var doc = $(document);
var scrollPos = 0;
var o = $.extend({
scrollable: false,
breakPoint: 0
}, options );
(function(){
if( o.breakPoint === 0 ){
var outerHeight = parseInt(elm.height());
var newBP = Math.floor(outerHeight * 1.5);
o.breakPoint = newBP;
}
})();
console.log(o.breakPoint);
if( o.scrollable == true ){
$( window ).scroll(function(){
let scrollPos = $(window).scrollTop();
if( scrollPos > o.breakPoint ){
elm.addClass('fixed-top');
}
if( scrollPos <= o.breakPoint ){
elm.removeClass('fixed-top');
}
});
}
}
}(jQuery))