繁体   English   中英

如何隐藏滚动(溢出:隐藏)?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM