Javascript 如何对多个元素使用相同的jQuery滚动函数

Javascript 如何对多个元素使用相同的jQuery滚动函数,javascript,jquery,scroll,Javascript,Jquery,Scroll,我有一个滚动功能,当用户滚动到160像素时,会显示一个“滚动到顶部”元素,当单击该元素时,页面会滚动到页面顶部 我想使用该功能创建更多的滚动按钮,这些按钮将在文档的不同阶段显示,并滚动到不同的区域 例如,当用户向下滚动到400像素时,单击页面向下滚动300px时会出现元素“next”,从顶部滚动到900px,单击页面向下滚动到1300px时会出现一个新的滚动元素,以此类推 以下是我的jQuery代码: $(document).ready(function(){ $(window).scr

我有一个滚动功能,当用户滚动到160像素时,会显示一个“滚动到顶部”元素,当单击该元素时,页面会滚动到页面顶部

我想使用该功能创建更多的滚动按钮,这些按钮将在文档的不同阶段显示,并滚动到不同的区域

例如,当用户向下滚动到400像素时,单击页面向下滚动300px时会出现元素“next”,从顶部滚动到900px,单击页面向下滚动到1300px时会出现一个新的滚动元素,以此类推

以下是我的jQuery代码:

   $(document).ready(function(){

$(window).scroll(function(){
    if ($(this).scrollTop() > 160)  {
        $('.scrollToTop').fadeIn();
    } else {
        $('.scrollToTop').fadeOut();
    }

});

$('.scrollToTop').click(function(){
    $('html, body').animate({scrollTop : 0},800);
    return false;
});
});
HTML:


我希望这不会太令人困惑


谢谢

也许您可以使用我在重用代码的某些部分时创建的函数:

function scroll(id,show,limit,timeout){
  $(window).scroll(function(){
    if ($(this).scrollTop() > show)  {
      $(id).fadeIn();
    } else {
      $(id).fadeOut();
    }
 });
 $(id).click(function(){
   $('html, body').animate({scrollTop : limit},timeout);
   return false;
 });
}
然后像这样使用它:

scroll(".scrollToTop",160,0,800);
其中第一个参数是要影响的类或id,第二个是元素在特定高度(从顶部)的位置,第三个是限制(要向上滚动的位置),最后一个是
动画
功能的持续时间



编辑:您可能还希望在特定的px上停止,而不仅仅是滚动到顶部,因此我更改了功能以根据您的需要设置滚动顶部位置。

谢谢您的回答!这似乎正是我所需要的,我唯一不确定的是如何使用
滚动(“.scrollToTop”,160800”);
我知道我每次都必须更改变量,但是每次我应该将它放在哪里才能对不同的元素工作。@user3124052我更改了答案,这样你就可以看到它不仅可以停在顶部,也可以停在你想要的位置。我试过了,但没有动画。只有这一部分可以工作
滚动(“.scrollToTop”)“,160,0
@user3124052这是我测试的,它正在工作,请解释什么不适合你。好的,我已经让它工作了。我将这两个函数包装在文档就绪函数中,就像在我的原始代码中一样,它工作得非常好。
scroll(".scrollToTop",160,0,800);