在javascript中向下滚动仅工作一次

在javascript中向下滚动仅工作一次,javascript,Javascript,下面是向下滚动页面的javascript代码: function down() { var scrolled=0; scrolled=scrolled+1000; $("html, body").animate({scrollTop: scrolled },2500); } 它工作正常,但只工作一次。如果我再次单击,它将无法工作。我怎样才能找到一条路,只要我点击它,它就能工作 任何帮助都将不胜感激 您正在使用一个常量(1000)作为滚动页面的位置。一旦你从顶部点击1000像

下面是向下滚动页面的
javascript
代码:

function down() { 
  var scrolled=0;
  scrolled=scrolled+1000;
  $("html, body").animate({scrollTop:  scrolled  },2500);
} 
它工作正常,但只工作一次。如果我再次单击,它将无法工作。我怎样才能找到一条路,只要我点击它,它就能工作

任何帮助都将不胜感激

您正在使用一个常量(1000)作为滚动页面的位置。一旦你从顶部点击1000像素,告诉它再滚动一次就没用了

您是否正在尝试从您所在的位置滚动1000像素?为此,您需要使用滚动距离:

var scrolled = window.pageYOffset;
因为您使用的是jQuery,所以也可以使用

$(window).scrollTop();

如果每次调用
down
时都不滚动+1000px,请尝试以下操作:

var down = (function() { 
  var scrolled=0;

  return function() {
    scrolled += 1000;
    $("html, body").animate({scrollTop:  scrolled  },2500);
  }

})();

您总是滚动到相同的位置(1000)。无论何时调用
down()
,都将
滚动设置为
0

您需要在函数范围外定义
滚动的
变量

示例:

(函数(){
var滚动=0;
函数down(){
滚动=滚动+1000;
$(“html,body”).animate({scrollTop:scrolled},2500);
}
$(“#滚动”)。单击(向下);
}());

(假设触发滚动的按钮或链接元素具有ID
scroll

请注意,IE<9中不存在
pageYOffset
属性。有关详细信息,请参阅。添加了jQuery属性