我在我的网站上添加了一个粘性的“号召性用语”栏,它的工作原理类似于粘滞导航,但它粘在窗口的底部,它在页面中的原始位置滚动过去,然后它跳回到文档的流程。页面调整大小的JQuery粘滞栏闪烁
当滚动位置小于条的原始位置的垂直位置时,它使用CSS类'.sticky'添加固定位置。
问题是,当我调整页面的大小时,我得到一个令人讨厌的闪烁,并且酒吧更多时候从视图中消失。
我使用的是下面的代码...
(function() {
$(window).on('resize', function() {
var stickyNavTop = $('#wrap-bar').offset().top;
var stickyNav = function(){
var scrollBottom = $(window).scrollTop() + $(window).height() - $('.cta-bar').height();
if (scrollBottom < stickyNavTop) {
$('#wrap-bar').addClass('sticky');
$('#wrap-bar-dummy').show();
} else {
$('#wrap-bar').removeClass('sticky');
$('#wrap-bar-dummy').hide();
}
};
stickyNav();
$(window).scroll(function() {
stickyNav();
});
});
$(document).ready(function() {
$(window).trigger('resize');
});
})(jQuery);
任何人都可以点我在正确的方向,以什么我需要改变,以获得巴停止调整大小时闪烁?
谢谢。
也许一个奇怪的想法,但你可以使#包裹栏位置绝对然后底部:0与CSS?没有jQuery需要呢? –
我需要jQuery,因为我希望当页面变成不同的部分时,它会跳回到页面的流程中。例如,当表单或页脚在视图中时,行动号召不相关。 – Dijon
我想你可以用CSS来做到这一点。然后,如果酒吧到达某个锚点,则可以使用jQuery将酒吧保持在锚点位置。 –