【发布时间】:2015-11-20 08:08:39
【问题描述】:
我有一个网站,其中大部分内容采用单页样式,菜单链接使用 div ID 作为锚点向下滚动页面(例如 www.mydomain.com/#div-id) 但是有, 一些额外的外部页面也链接在标题中。
我遇到的问题是,当我在一个外部页面(例如 www.mydomain.com/page-1)上时,用于向下滚动主页的菜单链接不会工作(它们以 www.mydomain.com/page-1/#div-id 的形式出现)。
jQuery(document).ready(function($){
jQuery('a[href*=#]').click(function (e){
e.preventDefault();
var navHeight = jQuery('.header-site').height();
var id = jQuery(this).attr('rel');
var scrollTo = jQuery('#' + id).offset().top-navHeight;
jQuery('html,body').animate({
'scrollTop': scrollTo
}, 500);
});
});
我使用link rel属性添加div ID,这样就不会和tabs等其他jQuery插件冲突了。
有没有办法解决我的问题,这样我就可以让菜单项滚动到页面,但是当我不在主页上时,“可滚动”菜单项链接回首页(以及到相关部分)。
【问题讨论】:
-
我认为你可以只检查域名或主页分隔符,如果这是触发点击事件的地方,只需通过 else 拦截。基本上是检查外部页面的额外条件..
-
你能把你的html代码加进去吗?
标签: javascript jquery html