【发布时间】:2015-07-02 23:33:34
【问题描述】:
我有一个带有页面导航的主标题 (#top-bar) 和一个带有指向页面上部分链接的子导航栏 (#category-bar)。子导航栏加载在屏幕底部,然后当用户向下滚动时,子导航栏通过将固定位置的主标题更改为绝对位置将其推离屏幕。子导航栏固定在顶部。这一切都适用于路点 js 触发条的不同位置状态。
我现在需要让主标题在向上滚动时重新出现。到目前为止,这是我的 javascript,尽管它不会影响向上滚动的标题:
function moveHeader() {
var topBar = '#top-bar',
var stickyElement = jQuery('#category-bar');
var bottomBarOffset = stickyElement.offset();
var topOffset = jQuery(topBar).offset().top; //get the offset top of the element
jQuery(stickyElement).waypoint({
handler: function(direction) {
if (direction === 'down') {
jQuery(topBar).css({ position: 'absolute', top: bottomBarOffset.top - jQuery(topBar).outerHeight() });
}
else {
jQuery(topBar).attr('style', '');
}
},
offset: topBarHeight - 1,
});
jQuery(topBar).waypoint({
handler: function(direction) {
if (direction === 'up') {
jQuery(this.element).addClass('pin');
}
else {
jQuery(this.element).removeClass('pin');
}
},
offset: topOffset - jQuery(window).scrollTop() - 100, //attempt to trigger main header pushed off screen top
});
}
我尝试了不同的计算来触发#top-bar,但没有任何运气。有人对这个项目的计算或不同方法有建议吗?
【问题讨论】:
标签: javascript jquery-waypoints