链接到另一个页面上的锚标记

时间:2016-08-12 15:40:33

标签: javascript html

所以我有一些带有按钮的部分链接到另一页面上的特定div。他们使用

正常工作
<a id="btn1" class="btn btn-default" href="http://example.com/services.html#corporate" role="button">More</a>

链接到另一个页面上的div,其ID为&#34; corporate&#34;等等。

问题在于,当页面打开时,就在它关注锚标记之前,它会在关注div之前闪烁主标题。反正有没有避免这个?一旦你按照链接一次再回到它的罚款所以它似乎只是它加载并显示在关注div之前的第一个问题。任何建议表示赞赏。

2 个答案:

答案 0 :(得分:3)

不是真的。问题是页面在您导航到该页面时并未完全加载,因此#corporate锚点在短时间内不存在。因此,您首先会在页面顶部闪烁,然后在可用时导航到相应的锚点。

答案 1 :(得分:0)

您可以尝试使用jQuery向下滚动到ID。至少那是一个平稳的过程。这样,您还可以让用户了解ID位于页面的哪个位置,这样他们就不会对导航到的位置感到困惑。

var j = (document.URL.substring(document.URL.lastIndexOf("\/")+1));
var hash = j.substring(j.lastIndexOf("#"))
if(j.lastIndexOf("#")!=-1) 
{
var j = j.substring(0,j.lastIndexOf("#"))
$(document).ready(function(){
                $('html, body').stop().animate({
                    scrollTop: $(hash+'').offset().top
                     }, 1000);
});

我从我使用过的网站上抓取了这个代码,很抱歉,如果有任何错误。