【问题标题】:Why doesn't window.scroll() and window.width() work together?为什么 window.scroll() 和 window.width() 不能一起工作?
【发布时间】:2016-01-04 10:23:39
【问题描述】:

为什么这些功能不能一起工作?我想在页面滚动并且窗口宽度小于 960px 时更改 box-shadow。

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();
    }
});

【问题讨论】:

    标签: javascript jquery scroll width


    【解决方案1】:

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

    尝试先将if改成:

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

    【讨论】:

      猜你喜欢
      • 2020-03-04
      • 2020-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-27
      • 1970-01-01
      • 1970-01-01
      • 2014-09-03
      相关资源
      最近更新 更多