2015-10-07 33 views
0

为什么这些功能不能一起工作?当页面滚动并且窗口宽度小于960px时,我想更改box-shadow。为什么不能window.scroll()和window.width()一起工作?

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

问题在于你的if/else结构。当scrollTop()返回一个超过100的值时,总是会满足第一个条件。因此,if else声明不会被触及。仅当第一个if条件失败时才会触及它。

尝试改变第一if到:

if ($(this).scrollTop() >= 100 && $(window).width() > 960) 
相关问题