如果两个条件都为真,则执行JQuery

时间:2017-12-06 15:49:11

标签: jquery scroll conditional-statements

我有以下代码在移动屏幕上执行,但问题是它也在大屏幕上执行。 只有在两个条件都为真的情况下才可以改变它吗?

由于

$(window).scroll(function(){

        var ww = $(window).width();
        var sc = $(window).scrollTop();

        if (ww < 769 && sc > 100){
            $('header').addClass('fixed-header');
            $('.page-sidebar').css('top', 65);
        } else {
            $('header').removeClass('fixed-header');
            $('.page-sidebar').css('top', 115);
        }

    });

2 个答案:

答案 0 :(得分:0)

因此,从您的评论中,您需要为else块或整个块提供条件,以防止它运行。

    if (ww < 769 && sc > 100){
        $('header').addClass('fixed-header');
        $('.page-sidebar').css('top', 65);
    } else if (ww < 2048) { //or whatever your value for a 'large' screen starts at
        $('header').removeClass('fixed-header');
        $('.page-sidebar').css('top', 115);
    }

    if (www < 2048) {
      if (ww < 769 && sc > 100){
          $('header').addClass('fixed-header');
          $('.page-sidebar').css('top', 65);
      } else {
          $('header').removeClass('fixed-header');
          $('.page-sidebar').css('top', 115);
      }
    }

第一个会阻止大屏幕发生其他情况。第二个会阻止整个if else在大屏幕上发生。

答案 1 :(得分:0)

@Override
public void validate(Object target, Errors errors) {
   super.validate(target, errors);

   EventsCriteria toValidate = (EventsCriteria) target;
   validateComplexRestriction(toValidate, errors);
}