【发布时间】:2017-09-01 01:35:10
【问题描述】:
我有一个导航栏,可以链接到起始页上的不同锚点。当我使用起始页导航中的链接时,它会平滑滚动到正确的 ID。但是当我转到子页面/其他页面时,我希望导航栏将我直接发送回起始页和选择的 ID(锚点)。我认为平滑滚动 javascript 存在一些冲突,但我可能是错的。
我的自定义 WP 主题的名称是:fitnesstravels。
导航栏由来自 Wordpress 菜单的自定义链接组成:
网址:http://localhost:8080/fitnesstravels/#destinations
名称:目的地
当我转到子页面时:http://localhost:8080/fitnesstravels/destinations/rhodos
导航栏中名为“目的地”的菜单链接链接到http://localhost:8080/fitnesstravels/#destinations 锚点(如果我右击“在新选项卡中打开链接”我会发送到正确的位置。但是当我尝试简单地使用时没有任何反应菜单链接。
js:
$('.nav.navbar-nav a, .arrow a[href^="#"]').on('click',function (e) {
e.preventDefault();
var target = this.hash,
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top-50
}, 1200, 'swing', function () {
window.location.hash = target;
});
});
【问题讨论】:
-
我真的不明白你想要达到什么目的或问题是什么..
-
问题是当我在子页面上时,我的导航不会将我发送回我的首页和正确的#anchor。当我单击菜单/导航中的链接时没有任何反应。但是如果我在我的首页上,导航会起作用并滚动到正确的锚 div。
-
好的,你能像这样 $('.nav.navbar-nav a[href*="#"]').on(...);跨度>
-
是的,javascript 用于在我的所有导航栏链接上产生“平滑滚动”效果,它适用于“登陆页面”。但我认为滚动脚本使链接在子页面上不起作用。但我可能错了。而且我不知道如何解决这个问题。
-
你能把网站放在实时服务器上让我看看吗?
标签: javascript html wordpress