JQuery:多个宽度函数不起作用

时间:2017-12-03 21:22:16

标签: javascript jquery css triggers resize

我无法整理一个片段,但基本上这就是我所坚持的,在这里我已经制作了一个功能,用于检查用户是否滚动了70px,这是用于导航栏时的用户已滚动70px导航栏变为固定并随用户移动。现在我已经创建了多个.width函数来检查设备是否是移动设备,如果是这样的话.center类的margin-left应该是0,但是如果我在> = 70 if语句中使用.resize函数< 70 if语句,它不起作用。如果我删除其中一个if语句中的.width函数,它会再次起作用,这真的很痛苦,我不能让它看起来有效。

.alert-achievement {
  background: url("../img/purple-bg.png") no-repeat;
  border: 4px solid purple;
  color: dodgerblue;
  padding: 10px;
  width: 25%;
} 

.alert-achievement > [data-notify="title"] {
  color: purple;
  text-align: center;
  display: block;
  font-weight: bold;
  margin-bottom: 5px;
}

.alert-achievement > [data-notify="message"] {
  font-size: 80%;
}

1 个答案:

答案 0 :(得分:0)

您可以像这样更新您的代码:



(function() {
  //caches a jQuery object containing the header element
  var header = $(".navbar-default");
  $(window).scroll(function() {
    var scroll = $(window).scrollTop();
    var $window = $(window);

    if (scroll >= 70) {

      header.addClass("navbar-fixed-top");
      $(".navbar-brand").css('display', 'block');

      if ($window.width() < 767) {
        $(".center").css('margin-left', '0px');
      } else {

        $(".center").css('margin-left', '30px');
      }

    } else if (scroll < 70) {

      header.removeClass("navbar-fixed-top");

      if ($window.width() < 767) {
        $(".navbar-brand").css('display', 'block');
      } else {

        $(".navbar-brand").css('display', 'none');
        $(".center").css('margin-left', '150px');
      }

    }
  });
});
&#13;
&#13;
&#13;