【发布时间】:2011-09-16 00:17:36
【问题描述】:
我有一个位于固定大小 div 内的选项卡窗格,每当该选项卡切换到大于外部 div 的选项卡时,整个页面都会向下滚动,以至于我无法再看到我的选项卡,我已经嘲笑它了在 jsfiddle 中显示问题。
请注意,为了看到问题,页面必须小于包含的 div。
有谁知道在不使用 javascript 的情况下切换选项卡时如何阻止页面向下滚动?
【问题讨论】:
我有一个位于固定大小 div 内的选项卡窗格,每当该选项卡切换到大于外部 div 的选项卡时,整个页面都会向下滚动,以至于我无法再看到我的选项卡,我已经嘲笑它了在 jsfiddle 中显示问题。
请注意,为了看到问题,页面必须小于包含的 div。
有谁知道在不使用 javascript 的情况下切换选项卡时如何阻止页面向下滚动?
【问题讨论】:
你只需要evt.preventDefault();:
【讨论】:
感谢您向我展示 evt.preventDefault() 它让我找到了正确的位置。单击时的链接指向我的隐藏 div,然后页面向下滚动到该 div。
要停止滚动,我也可以将 href 属性中的 id 删除到其他内容,
【讨论】:
accessibility 和graceful degradation 的目的,我强烈建议您将那些已命名的锚点保留在其中。
【讨论】:
如果您想使用“纯”JavaScript,请使用:
function stopScroll()
{
document.getElementById("body_id").style.overflow = "hidden";
}
function startScroll()
{
document.getElementById("body_id").style.overflow = "auto";
}
【讨论】: