当网页向下滚动时,标题固定在顶部后,滚动条将跳起来

时间:2015-05-19 16:28:54

标签: javascript jquery html css3

基本上我要做的是在页面滚动时在顶部有一个固定的标题。请找到我使用过的以下代码片段。

//This method is used to fixed header, while page is scrolling.
var fixedPageHeader = {
        fWScrolling : function () {
            var div = $('#headinfor');
            var start = $(div).offset().top;

            $.event.add(window, "scroll", function(){
                var p = $(window).scrollTop();
                if((p)>start){
                    $(div).css('position','fixed');
                    $(div).css('top', '0px');
                    $(div).css('left','0px');
                    $(div).css('margin-top','-2px'); 
                    $(div).css('z-index','500');
                }else{
                    $(div).css('position','static');
                    $(div).css('top','');
                    $(div).css('margin-top','0px'); 
                    $(div).css('z-index','0');
                }
            });
        }
 }

当标题固定在页面顶部时,滚动条跳到右后方开始。我无法向下滚动页面。

1 个答案:

答案 0 :(得分:0)

此问题的原因是,当标头在浏览器顶部得到修复时,将为其z-index分配一个值。所以在内容和浏览器的顶部栏之间会有空间,这是x(请检查我附上的图像).Thereforr滚动条突然跳起来。

https://drive.google.com/file/d/0B1dp9jlk2GZMYU9iM3lST2xzSkk/view?usp=sharing

为了获得这个,需要创建与标题相同的高度div。当它向下滚动时固定在浏览器顶部并在向上滚动时隐藏它。