Остановить дальнейшее обновление переменной, если другая переменная достигает 0 - PullRequest
0 голосов
/ 28 мая 2020

У меня есть некоторые переменные, которые обновляются при прокрутке в jQuery.

var scrollTop = $(window).scrollTop();
var width = site.logoWidth - scrollTop;
var logoPadding = scrollTop;

Я хочу остановить обновление переменной logoPadding, когда переменная width достигает 0, а затем продолжить, если width снова становится выше 0. В настоящее время у меня есть это, но я не уверен, как остановить изменение переменной logoPadding.

if (width < 0) {
   var width = 0;
   var logoPadding = ;
}

Полный код

$(window).scroll(function() {
   var windowHeight = $(window).height();
   var logoWidth = $('#main-logo').width();
   var scrollTop = $(window).scrollTop();
   var width = site.logoWidth - scrollTop;
   var logoPadding = scrollTop;

   if (width < 0) {
      var width = 0;
      var logoPadding = ;
   }

   if (scrollTop < site.windowHeight + 10) {
      $('#main-logo').css({
         'width' : width,
         'padding-bottom' : logoPadding
      })
   }
});

Ответы [ 2 ]

1 голос
/ 28 мая 2020
if (width < 0) {
  var width = 0;
  var logoPadding = ;
}

должно быть

if (width <= 0) {
  width = 0;
  logoPadding = 0;
  return;
}

вероятно

0 голосов
/ 28 мая 2020

Сначала объявите и инициализируйте logoPadding перед функцией прокрутки.

var logoPadding=0

Затем:

$(window).scroll(function() {
   var windowHeight = $(window).height();
   var logoWidth = $('#main-logo').width();
   var scrollTop = $(window).scrollTop();
   var width = site.logoWidth - scrollTop;

   if (width < 0) {
      var width = 0;
       //if width is zero, don't update logoPadding
    }

else{
logoPadding = scrollTop; //update logoPadding
}
   if (scrollTop < site.windowHeight + 10) {
      $('#main-logo').css({
         'width' : width,
         'padding-bottom' : logoPadding
      })
   }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...