我正在定位一个位置固定的元素和其他CSS在特定条件(基本上如果用户向上滚动),但元素的行为像一个相对定位的元素。换句话说,它是滚动页面而不是保持固定。固定的位置,像位置相对(与页面滚动)
我试着隔离这个问题,但这个问题只存在于整个网站,我需要它在这个网站上工作。
var lastScrollTop = 0;
$(window).scroll(function(){
var st = $(this).scrollTop();
if(st<=lastScrollTop){
//scroll up
if($(this).scrollTop()>235) $('#searchInput').removeClass('slideIn').addClass('stickySearch');
else $('#searchInput').removeClass('stickySearch').addClass('slideIn');
}
else $('#searchInput').removeClass('stickySearch').removeClass('slideIn');
lastScrollTop = st;
});
眼下类.slideIn
没有与之相关联的造型,但.stickySearch
一样。 这里是CSS:
.stickySearch{
width:56% !important;
position:fixed !important;
left:0;
right:0;
}
我的开发人员工具检查和类被应用,并正在应用的样式,但固定的位置只是不工作。
这里是一个活的URL:http://goo.gl/ns6UEQ
注意,它有助于有高度的小窗口,所以你可以滚动。向下滚动,使标题隐藏在顶部,然后向上滚动,应该出现搜索栏,但标题返回到视图时,搜索栏将返回到标题中。
'变换和背面的知名度造型important'忽略的CSS,如果它可以被覆盖....删除此,你应该gud去! – NoobEditor
我认为问题在于你试图跟踪lastscrolltop并测试它,你应该只需要内部的if/else语句 –
@NoobEditor我删除了!重要的,它仍然表现相同。当然,我必须在原来的位置删除'position:relative',这样固定就会变成风格。所以修正了这个问题,但它仍然在页面上滚动。 – gomangomango