我试图从头开始构建滑块插件,因为我需要它具有某些在其他插件中很难找到的特定行为。无论如何,其中一个要求是它占用了页面中的所有可用空间,减去菜单栏高度。设置div以覆盖所有窗口大小,减去菜单栏高度,不使用滚动条
这是我设置了一个例子:https://jsfiddle.net/5ujqw94n/
设置大小的尺寸我调用这个函数:
adjustSizes: function(that) {
var w = document.body.parentNode.clientWidth;
var h = $(window).height() - $('header').height();
console.log('window inner w', $(window).innerWidth());
that.$elem.width(w);
that.$elem.height(h);
console.log('window inner w', $(window).innerWidth());
console.log('document client w', document.body.parentNode.clientWidth);
}
我调整窗口大小时也调用该函数。会发生什么事情是,当页面加载时,它显示滚动条,但调整窗口大小使它们消失。
在函数中,我放了一些console.log
来跟踪窗口宽度,并注意到应用调整大小后有15px的差异。我认为这可能与滚动条有关,并且搜索arouns似乎是这种情况。
我不知道如何解决它。把overflow: hidden
作品,但我希望另一种方法,因为这感觉像一个解决方法。
例如,在这个其他page一切似乎工作,因为我想和没有overflow: hidden
在身体。
什么建议吗?
谢谢,这真的很有帮助。 我真的不需要边框,并正在使用它们进行调试。我和你一样困惑,但可能有一个很好的理由,为什么它的行为如此。顺便说一下,我还发现我可以从'slider-container'中移除'position:absolute',并使用'margin:auto'。我更新了小提琴:https://jsfiddle.net/5ujqw94n/1/(希望我不会错过任何其他方式) – Carlo
是的工作,因为div是隐式设置为宽度100%,其上限为960px和因此在更宽的屏幕上以边距自动为中心。我会将宽度:100%添加到滑块中的图像,尽管;-) – Arsylum