在我的网页上,我在中心使用一个垂直手风琴来列出一些内容。加载页面时,手风琴位于中间。但是当用户点击手风琴选项卡时,整个页面会向上滚动,使得手风琴选项卡位于浏览器的顶部。我怎么能避免这种反应。我希望用户在没有自动滚动的情况下留在页面部分本身。有没有解决方案?
当用户点击手风琴标签时,页面网址变为, http://web.com/#tab_1。但是我不能从手风琴中移除id,因为它需要ID来运行。还有其他解决办法吗?
答案 0 :(得分:1)
在您的点击处理程序中,您应该阻止单击链接的默认操作(即滚动到锚点)。一些伪代码,因为我不知道你的手风琴是如何设置的:
$("#accordion a").click(function(e)) {
e.preventDefault(); // This prevents the scrolling from occuring
$("#accordion").activate($(this).attr('id'));
});
答案 1 :(得分:0)
onclick
使用preventDefault
它会解决您的问题
答案 2 :(得分:0)
我不相信有一种简单的基于CSS的方法来避免以下事实:target伪选择器带有URL片段链接的默认浏览器行为,即滚动到相关元素。正如其他人所建议的那样,你将不得不在JS中添加它。
答案 3 :(得分:0)
如果我正确理解你的问题,那就是页面在点击次数上排在最前面,我个人总是添加它以停止自动滚动。
添加脚本
<%--Magic Script that maintains position on partial rendering and click--%>
<script type="text/javascript">
window.scrollTo = function (x, y) {
return true;
}
</script>