【发布时间】:2012-01-18 08:14:54
【问题描述】:
我试图让 jQuery 处理菜单,而 CSS 在调整浏览器大小时对窗口背景做一些事情。
所以 jQuery 做了这样的事情:
if ( $(window).innerWidth() < mediaQueries['small']) {
// (where 'small' would be 966)
// Perform jQuery stuff on a menu ul
}
而 CSS 有这样的东西:
@media all and (max-width: 966px) {
body {
background: url(smallback.jpg) no-repeat 0 0;
}
}
使用 Firefox 时,有 17 个像素的间隙(这似乎是垂直滚动条的宽度),其中 jQuery 的东西已经被处理了,但 CSS 没有。
由于其他浏览器的滚动条可能使用不同的宽度,因此仅在 CSS 中添加 17px 并不能真正解决问题。那么如何让 jQuery 考虑滚动条呢? $(window).innerWidth() 似乎不适合我。
任何帮助将不胜感激。
在 Firefox、Opera 或 IE 中打开 this page 以查看问题的独立版本。 (Chrome 和 Safari 没有遇到这个问题。到目前为止:Webkit:+1,Gecko:-1,Trident:-1,Presto:-1。)
【问题讨论】:
-
如果你使用 width() 会发生什么?
-
@Ben 同样的事情,没关系。看起来 Javascript 忘记了滚动条?
-
你能在某处设置一个基本示例供人们测试吗?
标签: jquery css firefox width media-queries