Javascript 怎么能ı;是否使用jquery创建scrolltop? . . . ..... .... $(“.content-page-scroll-1”)。单击(函数(){ $('html,body')。设置动画({ scrollTop:$(“#内容优先内容”).offset().top-60 },5000); }); $(“.content-page-scroll-2”)。单击(函数(){ $('html,body')。设置动画({ scrollTop:$(“#内容第二个内容”).offset().top-60 }, 5000); }); $(“.content-page-scroll-3”)。单击(函数(){ $('html,body')。设置动画({ scrollTop:$(“#徽标第三个内容”).offset().top-60 }, 5000); });

Javascript 怎么能ı;是否使用jquery创建scrolltop? . . . ..... .... $(“.content-page-scroll-1”)。单击(函数(){ $('html,body')。设置动画({ scrollTop:$(“#内容优先内容”).offset().top-60 },5000); }); $(“.content-page-scroll-2”)。单击(函数(){ $('html,body')。设置动画({ scrollTop:$(“#内容第二个内容”).offset().top-60 }, 5000); }); $(“.content-page-scroll-3”)。单击(函数(){ $('html,body')。设置动画({ scrollTop:$(“#徽标第三个内容”).offset().top-60 }, 5000); });,javascript,html,jquery,css,Javascript,Html,Jquery,Css,你好,我只是想要ScrollTop60,但是我有9个这样的内容,这意味着很多jquery。如何使用jquery缩短代码?这里要注意的是,回调之间唯一的变化是CSS选择器。为了留在这里,我将定义一个接受CSS选择器并返回click处理程序的函数 以您的例子为例,例如: <div class="logo-contentBlock"> <a href="#logo-first-content" class="content-page-scroll-1">BLOG<

你好,我只是想要ScrollTop60,但是我有9个这样的内容,这意味着很多jquery。如何使用jquery缩短代码?

这里要注意的是,回调之间唯一的变化是CSS选择器。为了留在这里,我将定义一个接受CSS选择器并返回click处理程序的函数

以您的例子为例,例如:

<div class="logo-contentBlock"> 
   <a href="#logo-first-content" class="content-page-scroll-1">BLOG</a>
</div>
<div class="logo-contentBlock"> 
   <a href="#logo-second-content" class="content-page-scroll-2">BLOG</a>
</div>
   .
   .
   .
  <div id="#logo-first-content">.....</div>
  <div id="#logo-second-content">....</div>




$(".content-page-scroll-1").click(function() {
    $('html, body').animate({
        scrollTop: $('#content-first-content').offset().top - 60
    },5000);
});
$(".content-page-scroll-2").click(function() {
    $('html, body').animate({
        scrollTop: $('#content-second-content').offset().top - 60
    }, 5000);
});
$(".content-page-scroll-3").click(function() {
    $('html, body').animate({
        scrollTop: $('#logo-thirt-content').offset().top - 60
    }, 5000);
});
const cbFactory = selector => () => {
    $('html, body').animate({
        scrollTop: $(selector).offset().top - 60
    },5000);
};

$(".content-page-scroll-1").click(cbFactory('#content-first-content'));
$(".content-page-scroll-2").click(cbFactory('#content-second-content'));
$(".content-page-scroll-3").click(cbFactory('#logo-thirt-content'));