CSS从固定转变为绝对,顶部变化无效

时间:2014-03-21 15:27:56

标签: javascript jquery html css css3

我的博客上有一个固定的顶部标题栏。当用户向下滚动特定点时,我希望在第一个标题的顶部显示另一个标题栏。

我正在使用jQuery Waypoints实现它。它工作正常。

我添加了转换功能,以便在显示时向下滑动。它也可以正常工作。

但问题是当我向上滚动时,转换不会发生。

这是我的代码:

<div id="share-bar" class="sticky-wrapper">This is second header</div>
<div id="header">This is normal header</div>
<p id="trigger">THIS IS THE PLACE WHERE SECOND BAR COMES UP</p>

JS

$('#trigger').waypoint(function(){
    $( "#share-bar" ).toggleClass("stuck");
});

CSS

#header {
    height: 55px;
    background-color: black;
    color: white;
    position: fixed;
    top: 0;
    width: 100%;
}
#share-bar {
    background: none repeat scroll 0 0 #FFFFFF;
    border-bottom: 1px solid #DDDDDD;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15);
    float: left;
    height: 55px;
    padding: 0;
    width: 100%;
    transition: all 0.2s ease 0s;
}
.sticky-wrapper { position:absolute; top:-55px; }    
.stuck {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999;
    transition: all 0.2s ease 0s;
} 

我有working Fiddle here

我的问题是:

  1. 为什么转换工作从-55px绝对到0固定但不反过来?
  2. 我做错了什么?请指导我。我被卡住了。

1 个答案:

答案 0 :(得分:1)

移动

'position: fixed;'
'z-index: 999;'

#share-bar,关闭.stuck修正了这个问题。

尝试this fiddle