我希望我的脚本在scrollCount变量的值达到> 2时执行一个方法。

码:

$( document ).ready(function() {

  var scrolly = 0;
  var scrollCount = 0;
  console.log(scrollCount);


  $('#wizard-next').click(function(e) {
    e.preventDefault();
    scrolly -= 300;
    $( "#wizard-step-1" ).animate({ marginTop: (scrolly+'px') }, 1200);
    scrollCount++;
    console.log(scrollCount);
  });

  $('#wizard-prev').click(function(e) {
    e.preventDefault();
    scrolly += 300;
    $( "#wizard-step-1" ).animate({ marginTop: (scrolly+'px') }, 1200);
    scrollCount--;
    console.log(scrollCount);
  });

  if(scrollCount > 2) {
    console.log('Add method here!');
  }


});


if语句不起作用。我该如何解决?

最佳答案

if(scrollCount > 2) {
    console.log('Add method here!');
 }


正如我确定您已经从注释(@Jaromanda)中注意到的那样,if语句仅执行一次。由于scollCount将为0,因此那一刻当然是假的。

如果您希望每次单击都会调用它,则可以使用一个函数将其包围。

var scrollCountCheck = function(){
  if(scrollCount > 2) {
    console.log('Add method here!');
  }
}


并在每个点击函数中调用此方法。在scrollCount ++或scrollCount--之前或之后(取决于您实际打算何时调用它)

07-24 17:54