翻页时加1,滚动到底部

Add 1 when page, scroll to the bottom

我正在使用以下代码将 1 添加到 js 变量。但它总是显示相同的结果。

javascript

$(window).scroll(function() {
  var lmp = 5,
      lma = 0;
       if($(document).height() - 50 <= $(window).scrollTop() + $(window).height()) {
          $('.div').append('<div></div><div></div><div></div><div></div><div></div>');
         lmp++;
         lma++;
       console.log(lmp +" : "+ lma);  
       }
   });

jsfiddle:- https://jsfiddle.net/n75epL5u/ 检查控制台的结果

在滚动事件外部 声明变量。否则你会在每次滚动时初始化它们。

var lmp = 5, lma = 0;
$(window).scroll(function() {
  if ($(document).height() - 50 <= $(window).scrollTop() + $(window).height()) {
    $('.div').append('<div></div><div></div><div></div><div></div><div></div>');
    lmp++;
    lma++;
    console.log(lmp + " : " + lma);
  }
});

您的代码不起作用的原因?

每次滚动时都会声明变量。

解决方案

将变量声明移到函数外。

var lmp = 5,
    lma = 0;
  $(window).scroll(function() {

    if ($(document).height() - 50 <= $(window).scrollTop() + $(window).height()) {
      $('.div').append('<div></div><div></div><div></div><div></div><div></div>');
      lmp++;
      lma++;
      console.log(lmp + " : " + lma);
    }
  });

Fiddle Demo

请将您的变量移到滚动事件处理程序之外。此外,最好将代码包装在匿名函数中,这样它就不会污染全局命名空间...

;(function() {
   var lmp = 5, lma = 0;

   $(window).scroll(function() {
       if ($(document).height() - 50 <= $(window).scrollTop() + $(window).height()) {
       $('.div').append('<div></div><div></div><div></div><div></div><div></div>');
       lmp++;
       lma++;
       console.log(lmp + " : " + lma);
   });
}());