当另一个变量达到0时,停止变量的更新。

问题描述 投票:0回答:1

在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
      })
   }
});

javascript jquery
1个回答
1
投票
if (width < 0) {
  var width = 0;
  var logoPadding = ;
}

应该是

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

可能


0
投票

首先声明&amp;在滚动函数之前初始化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
      })
   }
});
© www.soinside.com 2019 - 2024. All rights reserved.