Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带全高度div的粘性导航_Javascript_Jquery_Html_Css_Sticky - Fatal编程技术网

Javascript 带全高度div的粘性导航

Javascript 带全高度div的粘性导航,javascript,jquery,html,css,sticky,Javascript,Jquery,Html,Css,Sticky,我正在使用一个名为SMINT的JQuery插件来创建粘性导航,当滚动时,它会固定在视口的顶部。我试图在页面顶部的导航之前和之后留下一个空间,并在下面留下多个全高div 使用 * {margin: 0; padding: 0; outline: 0; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; box-sizing:border-box; } 使div达到全高(减去粘性导航),但会破坏初始导航。(滚动后导航正常)

我正在使用一个名为SMINT的JQuery插件来创建粘性导航,当滚动时,它会固定在视口的顶部。我试图在页面顶部的导航之前和之后留下一个空间,并在下面留下多个全高div

使用

* {margin: 0; padding: 0; outline: 0;
-moz-box-sizing:border-box; 
 -webkit-box-sizing:border-box; 
 box-sizing:border-box;
 }
使div达到全高(减去粘性导航),但会破坏初始导航。(滚动后导航正常)。卸下边框框,拧紧整个高度

我的尝试:


活生生的例子:

你不需要任何插件,这里有一个简单易懂的方法 方法:

var barSelector=“.subMenu”,
offSetToTriggerFixed=1,
OffsetOfix=$(barSelector).offset().top+OffsetOtriggerFixed,
$fixedBar=$(barSelector.eq(0.clone();
//设置克隆样式并附加到正文:
$fixedBar.css({display:'none',position:'fixed',top:0,'z-index':1100});
$('body')。追加($fixedBar);
//设定高度:
var viewPortHeight=$('body').height(),
navHeight=$(条形选择器).outerHeight(),
$anyOtherSec=$('.section')。而不是('.sTop');
$anyOtherSec.css({height:viewPortHeight-navHeight+5});
//需要时触发:
$(窗口)。滚动(函数(){
var fromTop=$(this.scrollTop();

如果(fromTop OP需要使用该特定插件,这使当前问题符合条件。否则它是重复的。谢谢。但我需要.section divs为100%高度减去导航高度。除非,我遗漏了什么,否则在本例中我看不到。@Razvan Dumitru不使用插件-也是一个答案,OPs尤甚新手可能会认为这是实现某些目标的最佳方式或首选方式,而使用自己的代码则更容易。@Colinkley我错过了检查编辑的代码抱歉,我不是非常清楚。第1节、第2节等都需要在导航底部和视区底部之间以100%的高度显示。导航的高度停下来不要紧。
var barSelector = ".subMenu",
  offSetToTriggerFixed = 1,
  offsettofix = $(barSelector).offset().top + offSetToTriggerFixed,
  $fixedBar = $(barSelector).eq(0).clone();

//Set cloned style and append to body:
$fixedBar.css({ display:'none', position: 'fixed', top:0, 'z-index':1100});
$('body').append($fixedBar);

//Set heights:
var viewPortHeight = $('body').height(),
    navHeight      = $(barSelector).outerHeight(),
    $anyOtherSec    = $('.section').not('.sTop');
    $anyOtherSec.css({ height: viewPortHeight - navHeight + 5});


//Trigger when needed:
$(window).scroll(function(){
    var fromTop = $(this).scrollTop();
    if (fromTop <= offsettofix) $($fixedBar).hide();
    else $($fixedBar).show();
});