在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);
}
$(“#滚动”)。单击(向下);
}());
(假设触发滚动的按钮或链接元素具有IDscroll
)请注意,IE<9中不存在pageYOffset
属性。有关详细信息,请参阅。添加了jQuery属性