只有Safari才会出现问题:我有三个标签,每个标签显示一个div id,同时隐藏其他两个标签 . 如果我单击tab2然后tab3然后tab1它显示/隐藏正确的div而没有屏幕向上滚动,但是当我然后单击tab2或tab3从选项卡1时它将屏幕移动到引用div的顶部 . 任何人都可以想到为什么会出现这种情况以及如何解决这个问题?我想在单击选项卡后不显示屏幕的情况下显示/隐藏div . 谢谢!
这是HTML代码:
`
<a onClick="remove_visibility('tabs2'), remove_visibility('tabs3'), toggle_visibility('tabs1')">Tab 1</a>
<a onClick="remove_visibility('tabs1'), remove_visibility('tabs3'), toggle_visibility('tabs2')" class="selected">Tab 2</a>
<a onClick="remove_visibility('tabs1'), remove_visibility('tabs2'), toggle_visibility('tabs3')">Tab 3</a>
`
这是相关的jQuery代码:
<script type="text/javascript">
toggle_visibility = function (id) {
var e = $("#"+id);
e.show();
}
remove_visibility = function (id) {
var e = $("#"+id);
e.hide();
}
</script>
1 回答
我不会使用onclick与JQuery调用我会通过他们的锚ID,类或类型或其他方式附加它们 . 尝试在那些功能中,在你显示和隐藏之后返回一个假可能会做的伎俩,因为我认为它试图导航一些因为你点击一个空锚 .
更新:
我有一些代码可以做到这一点,而html位于页面底部,浏览器的滚动位置位于底部并且不会向上导航:
JQuery (这是一个基于我的HTML的快速模型,提供演示,根据您的需求自定义,以及如何获取项目和方式):
HTML (再次为演示快速拼凑一些东西):