jquery:在.scroll函数内的if / else语句之后的代码不起作用。

时间:2015-11-30 11:10:02

标签: javascript jquery

我有一个jquery函数,其内部是我的网站的所有事件,如果用户滚动需要触发。但是,最后一行代码不起作用,如果将console.log();放在if / else语句之后也不会触发。

$(window).scroll(function(){

////////////////////////////////////////////////////////////////////////////////////////////
// make homepage CTA and rainbow bar disappear once top of below mountain hits those divs
////////////////////////////////////////////////////////////////////////////////////////////
if($('.below-the-mountain').offset().top < $('.the-observable-universe').offset().top + 100){
    $('.cta').css('display', 'none');
    $('.rainbow').css('display', 'none');
}else{
    $('.cta').css('display', 'block');
    $('.rainbow').css('display', 'inline-block');
}
////////////////////////////////////////////////////////////////////////////////////////////
// this is the code that does not fire, and it's because of the if/else statement above it
////////////////////////////////////////////////////////////////////////////////////////////
$('.cat-title').css('top', $('.before-shop-loop').offset().top + $('.cat-title').height() / 2 - $('.header').height()); 
});

if/else语句评估真实类似return时,javascript函数是否会停止运行?

以下代码有效。

$(window).scroll(function(){

////////////////////////////////////////////////////////////////////////////////////////////
// make title text all parralaxy so it stays in view as long as possible
////////////////////////////////////////////////////////////////////////////////////////////
$('.cat-title').css('top', $('.before-shop-loop').offset().top + $('.cat-title').height() / 2 - $('.header').height());

////////////////////////////////////////////////////////////////////////////////////////////
// make homepage CTA and rainbow bar disappear once top of below mountain hits those divs
////////////////////////////////////////////////////////////////////////////////////////////
if($('.below-the-mountain').offset().top < $('.the-observable-universe').offset().top + 100){
    $('.cta').css('display', 'none');
    $('.rainbow').css('display', 'none');
}else{
    $('.cta').css('display', 'block');
    $('.rainbow').css('display', 'inline-block');
}

});

为什么,在这种情况下,订单的主要区别/重要性是什么?

1 个答案:

答案 0 :(得分:0)

我认为你在if / else条件下有一个脚本错误,把行window.onerror = function(e){alert(e)}放在滚动函数之外,如果有任何错误,它会提醒你。