我有一个粘性菜单,当用户从视图顶部向下滚动500px时出现。当用户从底部向下滚动到500px时,我也希望它也隐藏起来。

提前致谢。

var stickTop = $('.sidebar-stick').offset().top + 500;
$(window).scroll(function(){
    if( $(window).scrollTop() > stickTop ) {
        $('.sidebar-stick').css({opacity: '1'});
        $('.stick-dummy').css('display', 'block');
    } else {
        $('.sidebar-stick').css({opacity: '0'});
        $('.stick-dummy').css('display', 'none');
    }
});

最佳答案

一种解决方案是从顶部和底部(不仅是顶部)计算限制,然后将底部限制添加到条件中:

var stickTop = $('.sidebar-stick').offset().top + 500;
var stickBottom = $(document).height() - 500;

$(window).scroll(function(){
    if( $(window).scrollTop() > stickTop && $(window).scrollTop() < stickBottom) {
        $('.sidebar-stick').css({opacity: '1'});
        $('.stick-dummy').css('display', 'block');
    } else {
        $('.sidebar-stick').css({opacity: '0'});
        $('.stick-dummy').css('display', 'none');
    }
});


根据您要创建的效果,您可能还需要考虑窗口高度。

10-08 16:55