如何知道如果DIV宽度设置在百分比或像素使用jQuery
How to know if a DIV width is set in Percentage or Pixel using jQuery
是否有可能知道如果div的宽度设置为百分比或像素。
if (widthSetAsPixel) {
// code for doing something with respect to Pixel
}
if (widthSetAsPercentage) {
// code for doing something with respect to Percentage
}
你实际上不想使用jQuery,因为它只会给你宽度px,即使它设置为百分比(或其他单位)。所以,为了得到宽度的单位,你需要使用window.getComputedStyle
。问题仍然是,这只能给你宽度px除非元素有display: none;
所以…要获得实际单位的宽度,使用我写的这个函数:
function getStyle(el){
var display = window.getComputedStyle(el).getPropertyValue("display");
el.style.display = "none";
var width = window.getComputedStyle(el).getPropertyValue("width");
el.style.display = display;
return width;
}
然后检查宽度是否为百分比:
var element = document.getElementById("myElementID");
var widthIsPercent = getStyle(element).indexOf("%") > -1;
此原则适用于其他CSS属性,如height
, left
等
jsFiddle的作用:http://jsfiddle.net/dwjqfLsz/
如果宽度是用CSS设置的,你应该能够像这样计算出来:
var width = $('#yourDiv').css('width');
var widthSetAsPercentage = width.indexOf('%') > -1;
var widthSetAsPixel = !widthSetAsPercentage;
相关文章:
- CSS将百分比转换为像素
- 如何将CSS背景位置属性从百分比转换为像素
- 将 CSS 定位从百分比转换为像素
- 在 Google 评论脚本中将像素更改为百分比
- jQuery .css() 返回像素而不是百分比
- .height() 以百分比返回高度,如何以像素为单位获取它
- 将宽度从百分比转换为像素
- 适用于 IE8 的子像素舍入 JavaScript/jQuery 解决方案,用于具有百分比宽度的表格单元格
- HTML 缩放元素,其尺寸以百分比定义,就像以像素定义一样
- 如何将像素计算成百分比
- 确定 DIV 的高度以百分比而不是像素设置
- 获取基于百分比或基于像素的x&y坐标来自latlng
- 如何使元素中的文本仅在基于百分比而非像素查看页面的特定部分时显示
- jQuery .css返回以像素为单位的 css 属性,而实际上以百分比为单位
- 将像素转换为网页所有元素的百分比
- 仅在页面加载的特定百分比上进行转换/事件像素加载
- 从CSS像素值减去百分比
- 在javascript中计算表格宽度的百分比而不是像素
- 将图像设置为屏幕的百分比,而不是像素
- 如何计算像素大小作为缩放百分比