在所有浏览器中,通过javascript以%form返回CSS属性的确切值
Return the exact value of a CSS property by javascript in % form across all browsers
我正在尝试实现一个跨浏览器的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;
您无法获得在CSS文件中输入的内容,但您可以简单地对返回值进行一些解析。下面应该为您标准化这些值,然后您可以进行任何需要进行的比较(使用JQuery)。
parseInt($("#elementId").css("top").replace("px", ""))
您可以使用parseInt()方法从CSS属性返回一个数值。
var top = parseInt($("#someElement").css("top"));
相关文章:
- 获取HTML属性中CSS声明的值
- 谷歌图表-如何更改整个表的css属性
- 如何通过HTML+CSS中的另一个元素Selector更改元素的属性值
- Css order属性不't在Jquery设置时更新
- CSS中的游标属性似乎不适用于USB On The Go
- 重写CSS:使用jquery显示none属性
- CSS样式属性留空
- 如何在CSS或Javascript中定位选定的属性(在HTML选项中)
- 从CSS到Javascript的属性值
- Android在HTML容器中滚动,该容器具有CSS溢出属性
- 将css属性替换为变量
- 使用Jquery/Javascript替换CSS属性
- 带有CSS的数据属性就没那么有用了
- 如何使用JavaScript查找未定义的CSS属性的值
- 在jquerymobile中设置按钮css属性的动画
- 使用javascript和css选择器获取value属性的内容
- JavaScript无法提取引号css属性
- 使用AngularJS动态更改css属性
- 使用javascript获取具有特定CSS属性的所有元素
- 将css属性添加到对象的集合中