Javascript jQuery上一个按钮未按预期工作

Javascript jQuery上一个按钮未按预期工作,javascript,jquery,Javascript,Jquery,也许我在漫长的一天之后变得很傻,我可以让我的下一个主播工作,让我点击下一个部分,但上一个主播只会让我回到顶部 我的代码是: //滚动下一节 $('.charityhub next')。单击(函数(){ var next=$('筹款想法'); $(“.筹款想法”)。每个(功能(i,元素){ 下一步=$(元素).offset().top; 如果(下一步-10>$(document).scrollTop()){ 返回false;//中断 } }); $(“html,body”).animate({

也许我在漫长的一天之后变得很傻,我可以让我的下一个主播工作,让我点击下一个部分,但上一个主播只会让我回到顶部

我的代码是:

//滚动下一节
$('.charityhub next')。单击(函数(){
var next=$('筹款想法');
$(“.筹款想法”)。每个(功能(i,元素){
下一步=$(元素).offset().top;
如果(下一步-10>$(document).scrollTop()){
返回false;//中断
}
});
$(“html,body”).animate({
滚动顶:下一个
}, 700);
});
//滚动上一节
$('.charityhub prev')。单击(函数(){
var prev=$(“部分”);
$(“.筹款想法”)。每个(功能(i,元素){
prev=$(元素).offset().top;
如果(上一个+10<$(文档).scrollTop()){
返回false;//中断
}
});
$(“html,body”).animate({
滚动顶部:上一页
}, 700);
});

一些标题 《洛雷姆·伊普苏姆》有很多不同的段落,但大多数都因注入幽默而发生了某种形式的变化

第二标题 《洛雷姆·伊普苏姆》中有很多不同的段落,但大多数都经历了某种形式的变化,比如注入幽默,或者随机的词语,这些词语看起来甚至一点都不可信。如果你要用Lorem Ipsum的一段话, 你需要确保在文本中间没有隐藏任何尴尬的东西。 获取更多信息 一些标题 《洛雷姆·伊普苏姆》有很多不同的段落,但大多数都因注入幽默而发生了某种形式的变化

第二标题 《洛雷姆·伊普苏姆》中有很多不同的段落,但大多数都经历了某种形式的变化,比如注入幽默,或者随机的词语,这些词语看起来甚至一点都不可信。如果你要用Lorem Ipsum的一段话, 你需要确保在文本中间没有隐藏任何尴尬的东西。 获取更多信息
尝试以下操作。其目的是尝试查找其偏移量超过当前滚动量的所有元素。一旦你有了这个列表,抓取最后一个应该会让前一个变成可见的

$('.charityhub-prev').click(function() {
  var prev = $(".fundraising-ideas").filter(function(i, element) {
    return $(element).offset().top + 10 < $(document).scrollTop();
  }).last().offset().top;

  $("html, body").animate({
    scrollTop: prev
  }, 700);
});
$('.charityhub prev')。单击(函数(){
var prev=$(“.fundraising ideas”).filter(函数(i,元素){
返回$(元素).offset().top+10<$(文档).scrollTop();
}).last().offset().top;
$(“html,body”).animate({
滚动顶部:上一页
}, 700);
});

您是否尝试过调试以检查它是否跳入
return false
案例?如果我正确阅读了逻辑,那么问题似乎与您尝试检查前面的所有部分以查看哪个部分小于滚动量有关,但您是从第一个部分开始的。所以如果你在第五个元素上,你首先检查第一个,而不是第四个,当然第一个会比滚动条小。一个更简单的方法是向当前元素添加一个类。然后,您可以使用
.next()
.previous()
获取下一个或上一个元素,而不是遍历所有部分。因此,从@Taplar所说的继续,您需要按照与上一个按钮相反的顺序进行检查。谢谢,这是一个漫长的编码过程,我同意。next()&.previous()要简单得多。明天我会更清楚地把这一点考虑进去,但再次感谢你们!