我有一个带有链接的可滚动页面,可以打开 thickbox。
(参见示例 landme.ru/scroll-bug/)
我想在打开 thickbox 时隐藏垂直滚动并停留在页面底部。 将“溢出:隐藏”属性应用于“正文”标签不会 在ie7中工作。如果我将此属性用于“html”标记,则页面内容为 在滚动将被隐藏之前向上滚动
抱歉我的英语不好
UPD:同时我使用这样的代码:
CSS:
.noscroll{overflow:hidden;}
js:
if ( ($.browser.msie) && ($.browser.version == '7.0')) {
$('html').addClass('noscroll');
} else {
$('body').addClass('noscroll');
}
可以用,但还是想知道有没有其他方法
最佳答案
好的,所以问题出在高度上。您不能只指定隐藏在包装上的溢出,因为它不知道在哪里停止。使用 position:relative 的样式属性将“wrap”包裹在 div 中;高度:100%;然后给包装样式 overflow: hidden;高度:100%;position:absolute;
最后,您需要滚动它,使其位于底部。
document.getElementsByClassName("wrap")[0].scrollTop = document.getElementsByClassName("wrap")[0].scrollHeight
好了 :)
测试用例在这里: http://jsbin.com/eguhuj#html
有一点滚动条,但那是因为jsbin。在一个 html 文档中它看起来很完美。
编辑:更新的代码...我们可以先测试一下看看它是否有效...你能把它放在你的 anchor 元素中吗?
onclick="(function(){var blah = document.getElementsByClassName("wrap")[0];
document.getElementsByClassName("wr")[0].style.position = "absolute";
var meh = document.body.scrollTop;
blah.style.overflow = "hidden";
blah.style.height = "100%";
blah.style.position = "absolute";
blah.scrollTop = meh;})();"
关于javascript - 如何隐藏滚动(溢出:hidden)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6794069/