我有一个div元素#btns在默认情况下是隐藏的。它应在从顶部滚动200px时显示,并在从顶部滚动500px之后再次隐藏。

这是我的(无效)代码:

$(window).scroll(function() {
    if ($(this).scrollTop()>200) {
        $('#btns').fadeIn();
    }
    elseif ($(this).scrollTop()<500) {
        $('#btns').fadeIn();
    } else {
        $('#btns').fadeOut();
    }
});

最佳答案

您可以像这样在按钮中添加一个类隐藏:

$(function() {
    $(window).scroll(function() {
        console.log('scrolling ', $(window).scrollTop(), $(document).height());
        if($(window).scrollTop() >= 200 && $(window).scrollTop() <= ($(document).height() - 500)) {
            $('#btns').removeClass('hide');
        } else {
            $('#btns').addClass('hide');
        }
    });
});


演示https://jsfiddle.net/1ks8at6r/5/

09-29 20:51