微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我正在寻找一种方法来包含一个幻灯片效果,当你点击页面上或下的本地锚点链接时。

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

<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');
    });
});

解决方法

描述

您可以使用jQuery.offset()和jQuery.animate()来完成此操作。

查看jsFiddle Demonstration

样品

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

scrollToAnchor('id3');

更多信息

> jsFiddle Demonstration
> jQuery.offset()
> jQuery.animate()

原文地址:https://www.jb51.cc/jquery/181692.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐