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

标签 javascript jquery html css scroll

我有一个带有链接的可滚动页面,可以打开 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/

相关文章:

javascript - 当模式处于事件状态时,传单 map 仍然存在。为什么?

javascript - 元素中生效的神秘属性

jquery - ajax回调中的Url.RouteUrl并使用jquery添加参数

javascript - JQuery Autocomplete GET 和 JSON 数组数据安全问题

javascript - 查找并替换字符串中的所有匹配项

jquery - 如何处理mvc3中radiobuttonfor的点击或更改事件

javascript - 如何获取 HTML 元素中的 href?

jquery - 为什么在 IE11 上有奇怪的行为?

html - 在 Markdown 中添加后备图像

Javascript : Throw error when Chinese characters are in the file name