我正在尝试实现跨浏览器的 if/else 语句。问题是我正在检查元素上的“top”属性,Chrome 和 safari 返回 css 值,而 Opera 和 Firefox 无论如何总是以像素为单位返回它。有什么方法可以直接读取 CSS 并使用 jQuery 或 javascript 返回在 .css 文件中输入的元素上的“top”值?
我需要一个以百分比形式返回的统一值。问题在于 Firefox 将其转换为像素。
这是我的代码:
if ($('#wrapper').position().top == '-100%') {
// Do Stuff
}
这在 Chrome 中有效,因为 chrome 在实例中返回 -100%。但 Firefox 返回类似 '-720px'
的内容。它将百分比转换为像素。
最佳答案
afaik,你无法取回 %,但你可以通过将 css 返回的像素除以高度来计算出它。
var top = parseInt($('#ID').css('top')) / $('#ID').parent().height() * 100;
关于javascript - 通过 javascript 在所有浏览器中以 % 形式返回 CSS 属性的准确值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9389142/