0

我在这里面临一个非常不合逻辑和奇怪的问题。

我在一个单独的 CSS 文件中定义了宽度、高度和其他属性。现在我在运行时对这些值进行操作以使我的应用程序动态化。

但是当我使用 获取这个值时jQuery,它会从该值中减去一两个。

例如,在 中定义的元素的宽度CSS是 450px,现在当我在jQuery使用中获取它时

$('.programeSectionBox').width();

它会给我449px。高度和边距参数也会发生这种情况。

有人可以告诉我这里发生了什么,我struct在这个问题上很糟糕。


感谢所有的答复。我已经检查了 outerWidth() 解决方案,但它不起作用,给出了同样的问题。

实际上我正在为三星智能电视创建一个应用程序,他们提供两种分辨率 960x540 和 1280x720。对于 960x540,一切都很好,但是当谈到 1280x720 时,问题就出现了,我已经提到过。

在我的应用程序中,我为这两种分辨率使用了一个 javascript 文件和两个不同的 CSS 文件,应用程序检查它在哪个电视分辨率上工作,然后加载相应的 CSS。我无法对 JavaScript 文件中的值进行硬编码,因为我想让它保持动态,如果我对值进行硬编码,它显然适用于一种分辨率。

因此,如果有人有任何其他解决方案,那就太好了。

谢谢

4

3 回答 3

1

尝试使用 outerWidth ,看看是否适合您:

jQuery("#myElement").outerWidth();

更多关于外宽:

http://api.jquery.com/outerWidth/

于 2012-08-17T09:57:23.250 回答
0

由于这发生在几个计算值(不仅是宽度/高度)上,我猜你的浏览器是 zoomed。在您的情况下,它可能会缩小一步,因为您似乎获得的值低于您通过 CSS 设置的值。

在这里试试这个例子:http: //jsfiddle.net/zsygt/

当浏览器缩放重置为默认值(100%)时,它应该打印448. 但是当我在 Chrome 中放大一步时,它会打印449.

于 2012-08-17T10:03:34.267 回答
0

只需使用parseInt您获得的价值即可。

之后,您将获得整数值,然后您可以对其执行任何操作。

console.log(​parseInt('445px')​​);​

小提琴

于 2012-08-17T09:54:48.533 回答