我在我的網站上添加了一個粘性的「號召性用語」欄,它的工作原理類似於粘滯導航,但它粘在窗口的底部,它在頁面中的原始位置滾動過去,然後它跳回到文檔的流程。頁面調整大小的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將酒吧保持在錨點位置。 –