有没有办法检测div何时显示或隐藏滚动条?当滚动条显示时,我想调整div中的一些控件,以便滚动条不会覆盖它们。
所以,我需要一个在滚动条出现时消失的事件并消失。 谢谢, 布赖恩
答案 0 :(得分:2)
您可以将内容包装在另一个DIV中 - 然后您可以检测内容的高度,如果它高于包含DIV,则调整其大小。 jQuery的一个例子:
if($('#content-wrapper-div').height() > $('#scrolling-div').height())
{
var oldWidth = $('#content-wrapper-div').width();
$('#content-wrapper-div').css('width', (oldWidth - 20) + 'px')
}
可以根据滚动条的宽度更改“20”(或者您可以使用高度,或调整其中的单个控件的大小)。
答案 1 :(得分:1)
看起来像20px的很多工作。您可能想重新考虑您的设计。但我会咬人。
没有“elementGotBigger”事件,以便在用户交互可能导致之前检测到您需要知道的事件:
然后让每个事件触发一个检查
的函数然后,如果滚动大小大于元素的大小,请执行填充。
以下是mootools的示例:http://mooshell.net/HC3g9/
答案 2 :(得分:0)
你的问题引起了我的兴趣,我并没有对另一个答案感到兴奋(没有冒犯,似乎是hacky),虽然它可能有效。在谷歌搜索更好的方式,我偶然发现了this jQuery plugin。使用这样的东西会很好,因为不同的浏览器可能会以不同的宽度渲染滚动条。