Javascript 根据单击的按钮滚动至页面

Javascript 根据单击的按钮滚动至页面,javascript,jquery,Javascript,Jquery,有人能告诉我如何使用jquery滚动键使黄色菜单上的按钮滚动到相应的部分(即分配到粉色块)吗 这是我的代码: 我认为是这样的: $(".nav").click(function () { $('html, body').animate({ scrollTop: $(".section").offset().top + $(".section").height() }, 500); }); 但是我不知道如何根据点击的链接将其与相关部分联系起来。你可以有这样的链接

有人能告诉我如何使用jquery滚动键使黄色菜单上的按钮滚动到相应的部分(即分配到粉色块)吗

这是我的代码:

我认为是这样的:

$(".nav").click(function () {
    $('html, body').animate({
        scrollTop: $(".section").offset().top + $(".section").height()
    }, 500);
});

但是我不知道如何根据点击的链接将其与相关部分联系起来。

你可以有这样的链接

<a href="#section1" class="nav">Click to jump to section 1</a>

还有一段像

<div id="section1">
    <p>Section 1 content</p>
</div>

第一节内容

然后把卷轴按这样处理

<script type="text/javascript">
    $(".nav").click(function (event) {
        event.stopPropagation();    
        var theHref = $(this).attr('href');
        $('html, body').animate({
            scrollTop: $(theHref).offset().top + $(".section").height()
        }, 500);
    });
</script>

$(“.nav”)。单击(函数(事件){
event.stopPropagation();
var theHref=$(this.attr('href');
$('html,body')。设置动画({
scrollTop:$(theHref).offset().top+$(“.section”).height()
}, 500);
});

首先,ID在页面中必须是唯一的。我看到这两个,以及使用相同的ID

所以我做了更改&只需将相应的div id添加到href标记中,单击该div即可

<a href="#posting" class="nav">posting</a>
<a href="#distribution" class="nav">distribution</a>
<a href="#application" class="nav">applicantions</a>

请注意,javascript块是可选的-它只允许您使用平滑动画与跳跃
$(".nav").click(function (e) {
    e.preventDefault();
    var divId = $(this).attr('href');
        $('html, body').animate({
            scrollTop: $(divId).offset().top;
        }, 500);
});