javascript - 通过 javascript 在所有浏览器中以 % 形式返回 CSS 属性的准确值

标签 javascript jquery css

我正在尝试实现跨浏览器的 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/

相关文章:

javascript - Webstorm 通过 IDE 调试 NPM 脚本

javascript - Meteor Template 助手和 Handlebars 助手之间有什么区别?

javascript - 如何访问 Angular.JS 中 $routeProvider 配置中的工厂数据对象?

javascript - 将值更改为动态父级和子级复选框的问题

javascript - 单击特定选项值时触发事件

javascript - 事件链接在 Bootstrap 上不起作用

javascript - 使用关键 CSS 时,Jquery 函数不会在加载时运行

javascript - box-shadow 'follows' Jquery Slide Down 效果

javascript - 谷歌搜索框需要移动到屏幕中间(X :0 Y:0)

css - bootstrap input-group-btn 忽略高度 100%