http://2012.delineamultimedia.com/#home_contact
我知道这有点hacky但是,我需要这个链接和其他锚标记来做同样的事情。 当转到此链接时,页面(部分)的标题被阻止,因为固定导航覆盖了内容...
我正在使用scrollto jQuery插件并在它到达时给它一个负边距顶部以补偿固定导航...这是一个例子......
<script type="text/javascript">
$(function() {
$('ul.nav a').bind('click',function(event){
var $anchor = $(this);
$('html, body').stop().animate({
scrollTop: $($anchor.attr('href')).offset().top-139
}, 1500,'easeOutBounce');
event.preventDefault();
});
});
</script>
问题是这只有在触发scrollto函数时才有效。所以,我一直在尝试执行以下操作,我需要帮助才能使其工作,以便当有人直接链接到哈希标记http://2012.delineamultimedia.com/#home_contact或任何其他人时,页面知道向下移动额外的空间它清除了导航。
<script type="text/javascript">
$(document).ready(function(){
function checkHash() {
if (location.hash === "#home_contact") {
navClick('#home_contact');
}
else if (location.hash === "#/index.html") {
navClick('index.html');
}
}
window.onhashchange = checkHash;
window.onload = checkHash;
});
</script>
这一点是在单击哈希链接时激活navItem。由于某些原因,这不起作用,任何人都可以帮助我让这个工作吗?在此先感谢您的时间!我希望这很有道理,很难解释。
答案 0 :(得分:0)
我会依靠你现有的功能。在页面加载时触发导航上的点击事件。
$(document).ready(function(){
switch(location.hash){
case '#home_contact':
$('a.contact-nav').trigger('click');
break;
default:
$('#top_logo a').trigger('click');
break;
};
});
换句话说。单击您的导航已经可以使用,您可以重复使用该功能。