[英]how to hide scroll (overflow:hidden)?
我有带有打开厚框链接的可滚动页面。
(参见示例landme.ru/scroll-bug/ )
我想在打开厚框时隐藏垂直滚动并停留在页面底部。 将 'overflow:hidden' 属性应用于 'body' 标签在 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%; 然后给包装样式溢出:隐藏; 高度:100%; position:绝对;
最后,您需要滚动它,使其位于底部。
document.getElementsByClassName("wrap")[0].scrollTop = document.getElementsByClassName("wrap")[0].scrollHeight
你有它:)
此处的测试用例: http://jsbin.com/eguhuj#html
有一点滚动条,但那是因为 jsbin。 在 html 文档中,它看起来很完美。
编辑:更新的代码......我们可以测试一下它是否首先工作......你可以把它放在你的锚元素中吗?
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;})();"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.