jQuery scrollTop无法使用查询字符串链接

前端之家收集整理的这篇文章主要介绍了jQuery scrollTop无法使用查询字符串链接前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个导航,初始网址如下所示:

test.PHP的?查询= 19

我的页面上有链接,如此< a href =“#section-1”>第1节< / a>< a href =“#section-2”>第2节< / a>< a href =“#section-3”>第3节< / a>

有3个部分:

<section id="section-1"></section><section id="section-2"></section><section id="section-3"></section>

我正在使用此jquery代码页面顶部(或用户页面上的位置)滚动到该部分到该部分的顶部,而不是在我的网址中显示#标记.

$(function() {
    $('a[href*=#]:not([href=#])').click(function() {
        if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
            var target = $(this.hash);
            target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
            if (target.length) {
                $('html,body').animate({
                    scrollTop: target.offset().top
                },2000);
                return false;
            }
        }
    });
});

我的问题是这不会滚动到该部分.它只是转到该部分的底部,然后滚动到顶部,#出现在我的网址中.

我的主页上有另一个菜单

home.PHP和我使用完全相同的jquery代码,它适用于该页面.

我的问题是我怎么让ScrollTop在我的test.PHP?query = 19页面上工作就像在home.PHP上一样当我在test.PHP上点击一样?query = 19我的url改为:test. PHP查询= 19#部-1

解决方法

1.使用e.preventDefault();防止您的代码在当前网址中添加#

您还可以使用此代码滚动到任何页面上的特定部分:

HTML:

<div  id = 'a' style = 'height:300px;'>
123
</div>
<a href= '#b'>Go to 456 </a>

<div id = 'b' style = 'height:300px;' >
456
</div>
<a href= '#c'>Go to 789 </a>

<div id = 'c'style = 'height:300px;' >
789
</div>
<a href= '#d'>Go to asd </a>

<div id = 'd' style = 'height:300px;' >
asd
</div>
<a href= '#e'>Go to fgh </a>

<div  id = 'e'  style = 'height:300px;' >
fgh
</div>
<a href= '#a'>Go to 123 </a>

脚本:

function scroll(id){
    $('html,body').animate({
        scrollTop: $(id).offset().top
    },2000);
}
$(document).ready(function() {
    $('a[href*=#]:not([href=#])').click(function (e) {
        var id = $(this).attr('href')
        scroll(id);
        e.preventDefault();
    });
});

DEMO:
http://jsfiddle.net/ishandemon/k19p33tm/

http://jsfiddle.net/ishandemon/k19p33tm/1/

原文链接:https://www.f2er.com/jquery/178338.html

猜你在找的jQuery相关文章