锚链接到另一个页面

时间:2014-08-12 16:46:57

标签: jquery html css

我的网站首页上有锚链接,链接到页面的不同部分。我遇到了辅助页面的问题,每当他们点击引用主页面上的部分的锚链接时,它就不会将它们带到该部分。我试图使用完整的URL http://www.website.com/index.php#1,但只需要访问主页但不会触发锚链接的位置。我有什么遗失的吗?

我使用以下Jquery进行平滑滚动,并在某个部分处激活菜单翻转。

<script>
var timerid; //Used to fire scroll function once after scrolling is done.
$(document).ready(function(){
$("#menu-main-menu a").click(function(e){
    e.preventDefault();
    $("#menu-main-menu a").removeClass('active');
    var id = $(this).attr("href").substring(1);
    $("body").animate({
        'scrollTop': $("section#" + id).offset().top -133
    });        
});
$("body").scrollTop(1); //forcing window scroll to execute on page load
$(window).scroll(function(){
    clearTimeout(timerid);
    timerid = setTimeout(checkactivelink, 50);
});

function checkactivelink()
{
    $("section").each(function(){
        if($("body").scrollTop() >= $(this).offset().top -133)
        {
            $("#menu-main-menu a").removeClass('active');
                $("#menu-main-menu a[href=#" + $(this).attr("id") + "]").addClass('active');
        }
    });
}
});
</script>

1 个答案:

答案 0 :(得分:0)

尝试替换

$("body").scrollTop(1);

使用:

if(location.hash) {
    $("#menu-main-menu a[href='"+location.hash+"']").click();
}

因此,当您在链接中打开带有锚点的页面时,它将模拟单击相应的导航菜单。