问:在我重新设计时需要帮助。
我有一个带有内部页面滚动的静态首页。
正在在博客页面上加载相同的导航。有没有一种方法可以链接回到静态主页,或者我需要加载其他导航文件。
我的新网站重新设计
仍在浏览器测试中,因此,如果您发现错误,请告诉我。我知道我在Safari上的svg徽标有问题。
答:看来问题出在相对链接上。(这不是特定于WordPress的问题。)如果您指定像这样的链接的href,
href =“#about”
-它将链接到当前页面上ID为“ about”的元素。当访问者位于主页上时,该链接有效,但访问者无法在任何其他页面上使用。
如果要链接到主页上的元素,则需要以斜杠开头,如下所示:
href =“ /#about”
斜线表示“首先转到该域根目录下的页面”。博客中出现的斜线是相同的:
href =“ / blog”
这意味着“从域的根开始,然后在其下方加载博客页面”。
答:仅当访问者单击链接而不更改页面时,才会激发您拥有的代码。不可能平滑地滚动HTML的编写方式:当浏览器转到主页时,在末尾附加#哈希,它将在JavaScript有时间触发之前自动跳到该位置。
您可能可以使用JavaScript使其立即滚动回到顶部,然后向下平滑滚动。我在Stack Overflow上找到了一个类似的线程可能会帮助您:
如果(location.hash!=)){
var a = $(“ a [name =” + location.hash.substring(1)+“]”);
//注意,根据w3c规范,URL哈希还可以引用 元素的ID
。如果是这样,则上面的语句变为
// var a = $(location.hash);
if(a.length){
$('html,body')。animate({
scrollTop:$(a).offset()。top
},'slow');
}
}