小编典典

如何使用 jQuery 向上或向下滚动页面到锚点?

all

我正在寻找一种方法来包含幻灯片效果,以便您在页面上方或下方单击指向本地锚点的链接。

我想要你有这样一个链接的东西:

<a href="#nameofdivetc">link text, img etc.</a>

也许添加了一个类,所以你知道你希望这个链接是一个滑动链接:

<a href="#nameofdivetc" class="sliding-link">link text, img etc.</a>

然后,如果单击此链接,页面会向上或向下滑动到所需的位置(可能是 div、标题、页面顶部等)。


这是我以前的:

    $(document).ready(function(){
    $(".scroll").click(function(event){
        //prevent the default action for the click event
        event.preventDefault();

        //get the full url - like mysitecom/index.htm#home
        var full_url = this.href;

        //split the url by # and get the anchor target name - home in mysitecom/index.htm#home
        var parts = full_url.split("#");
        var trgt = parts[1];

        //get the top offset of the target anchor
        var target_offset = $("#"+trgt).offset();
        var target_top = target_offset.top;

        //goto that anchor by setting the body scroll top to anchor top
        $('html, body').animate({scrollTop:target_top}, 1500, 'easeInSine');
    });
});

阅读 60

收藏
2022-07-06

共1个答案

小编典典

描述

您可以使用jQuery.offset()和来做到这一点jQuery.animate()

查看jsFiddle 演示

样本

function scrollToAnchor(aid){
    var aTag = $("a[name='"+ aid +"']");
    $('html,body').animate({scrollTop: aTag.offset().top},'slow');
}

scrollToAnchor('id3');

更多信息

2022-07-06