页面跳转时从URL隐藏哈希

时间:2015-03-02 13:52:40

标签: javascript html anchor href

我的菜单上有一个链接,指向另一个页面上的锚点。

<a href="http://www.mylink.com.br/mylink/#anchor">

我想从网址隐藏#anchor


我尝试了另一种解决方案,看看:

$('#menu #mylink2').click(function() {
   document.location.href = "www.mysite.com/mysite/";
});

然后,我需要激活一个脚本以在页面加载后滚动到div:

$(document).ready(function(){
    $('html, body').animate({ scrollTop: $("#divtoscroll").offset().top }, 2500);
});

但我不知道如何将该事件附加到上一个事件。它的方式是,每次页面加载时,它都会滚动到div。

任何帮助?


我做到了! 我添加了&#34; contato&#34;在URL的最后,以区别于其他链接。

$('#menu #mylink2').click(function() {
   document.location.href = "www.mysite.com/mysite/contato";
});

并用它来识别URL并激活文档就绪功能。

var url = "www.mysite.com/mysite/contato";
if (location.href==url) {
    $(document).ready(function(){
        $('html, body').animate({ scrollTop: $("#allcontentcontact").offset().top }, 2500);
    });
}
else {
}

完美的作品!谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

据我所知,不可能这样做,因为它告诉浏览器页面的哪个部分会跳转到。

您可以使用像素数量和javascript来执行此操作,但它不适用于所有情况。 示例:

 window.scrollBy(0, 500);

您可以使用jQuery滚动到页面上的特定元素ID,但这需要在该页面上触发,例如单击,甚至页面加载。以下示例使用click。

$("#button").click(function() {
$('html, body').animate({
    scrollTop: $("#elementtoScrollToID").offset().top
}, 2500);

});