我认为这可能是不可能的,我会尽力解释清楚。
我有一个包含选项卡(使用jQuery控制)的页面,由以下代码控制:
我正在使用由另一个用户在以前的问题中提供的代码。
<script type="text/javascript">
$(function() {
$('html, body').animate({scrollTop:0}); // this is my "fix"
var tabContent = $(".tab_content");
var tabs = $("#menu li");
var hash = window.location.hash;
tabContent.not(hash).hide();
if(hash=="") {
$('#tab1').fadeIn();
}
tabs.find('[href=' + hash + ']').parent().addClass('active');
tabs.click(function() {
$(this).addClass('active').siblings().removeClass('active');
tabContent.hide();
var activeTab = $(this).find("a").attr("href");
$(activeTab).fadeIn();
return false;
});
});
</script>
当我直接访问“标签”页面时,这段代码效果很好。
然而,我需要从其他页面链接到单独的标签 - 为此,该代码获取window.location.hash
,然后显示相应的标签。
由于有“return false”,所以页面不会因为锚点而“跳转”。
只有在点击事件触发时才会触发此事件。因此,如果我从其他任何页面访问我的“标签”,将会触发“跳转”效果。为了解决这个问题,我自动滚动到页面顶部,但我宁愿不要发生这种情况。
是否有任何办法在页面加载时模拟“return false”,防止出现锚点“跳转”?
希望这足够清楚。
谢谢