为什么window.scroll()和window.width()不能一起工作?

时间:2015-10-07 08:57:51

标签: javascript jquery scroll width

为什么这些功能不能一起工作?我想在页面滚动时更改框阴影,窗口宽度小于960px。

function hasScroll() {
    $('.fixed').css({
        "height": "50px",
        "box-shadow": "0px 79px 31px white"
    });
}
function changeShadow() {
    $('.fixed').css({
        "height": "50px",
        "box-shadow": "-3px 48px 44px white"
    });
}
$(window).scroll(function() {
    if ($(this).scrollTop() >= 100) {
        hasScroll();
    }
    else if ($(this).scrollTop() >= 100 && $(window).width() < 960) {
        changeShadow();
    }
    else{
        notSctoll();
    }
});

1 个答案:

答案 0 :(得分:1)

问题在于if/else构建。当scrollTop()返回的值超过100时,将始终满足第一个条件。因此,if else声明不会被触及。只有在第一个if条件失败时才会触及它。

尝试将第一个if更改为:

if ($(this).scrollTop() >= 100 && $(window).width() > 960)