使用主导航滚动网站问题
Scrolling Site Issues With Main Nav
我为我的网站建立了一个滚动主页,用户可以点击标题中的链接向下滚动到网站的不同部分。我还有指向新页面的外部链接,允许用户查看不同的项目
不管出于什么原因,它都很好用,但一旦我到达其中一个项目页面,然后尝试单击主页或工作链接,它就无法正常工作。不创建第二个header.php
,
如何使nav
在全球范围内工作。
<script>
$(document).ready(function(){
$('a.logo, ul.nav a, #mmenu a, a.mobileLogo').bind('click',function(event){
var $anchor = $(this);
href_arr = $anchor.attr('href').split("#");
$('html, body').stop().animate({
scrollTop: $('#'+href_arr[1]).offset().top - 0
}, 500); // it was -70
event.preventDefault();
});
});
});
</script>
我的链接如下。。。
<a href="/#home">Link</a>
<a href="/#work">Work</a>
关于如何修复jQuery,使其在外部页面上工作,有什么想法吗?
听起来#home
和#work
在您的产品页面上不存在,对吗?如果是这种情况,那么调用event.preventDefault()
实际上会阻止浏览器返回主页。在阻止默认行为之前,请尝试检查元素是否存在。如果该元素不存在,浏览器将正常访问该链接。这是一种方法。
$(document).ready(function(){
$('a.logo, ul.nav a, #mmenu a, a.mobileLogo').bind('click',function(event){
var hash = '#' + $(this).attr('href').split('#')[1];
// check if the element exists on your page
if ($(hash).length) {
// if so, scroll to it and prevent the default behavior
$('html, body').stop().animate({
scrollTop: $(hash).offset().top - 0
}, 500);
event.preventDefault();
}
});
});
相关文章:
- "访问控制允许起源”;通过javascript从http页面调用同一网站的httpsurl时出现问题
- 移动网站重定向问题
- Bootstrap一页导航Fluid网站最小化问题
- 使用可可将JavaScript注入网站时出现问题
- 在我的网站上创建一个在1-10之间不断变化的数字时遇到了问题.Javascript
- 跨浏览器问题:如何调试我的网站'在windows PC的safari上的行为
- j查询网站标题问题
- Firebase API 问题与 AngularJS 网站示例项目
- wordpress和packery.js的集成问题,但适用于非wordpress网站
- 网站下拉菜单的宽度问题
- 如何解决wordpress网站的速度问题
- 我的网站加载出现问题.这是一个嵌入到index.html中的.SWF文件
- 我的网站存在火狐缓存问题
- 使用 PHP 和 Javascript 自动登录到我的网站时有什么问题
- 实时Magento网站上的原型JS问题
- 当我尝试合并多个javascript文件时,网站出现问题
- 使用主导航滚动网站问题
- 鼠标悬停事件类似于本网站问题底部的按钮
- 固定切换菜单在一页网站问题
- 在iOS7中使用skrollr, skrollr-menu的视差网站问题