<div class="ui-progress" style="width: 10%;">
console.log($(this).width());
以像素为单位返回宽度,而不是%。如何获得百分比?
发布于 2012-06-12 14:34:34
试试这个:
var width = $('.ui-progress').width();
var parentWidth = $('.ui-progress').offsetParent().width();
var percent = 100*width/parentWidth;
或
var width = ( 100 * parseFloat($('.ui-progress').css('width')) / parseFloat($('.ui-progress').parent().css('width')) ) + '%';
备注
如果.ui-progress
的父对象有CSS position:absolute
,则可以使用.offsetParent()
。
发布于 2012-06-12 14:34:43
它返回以像素为单位的宽度,因为这是浏览器解释百分比的方式。它可能在CSS中显示为百分比,但在浏览器显示时会转换为像素值。
console.log($(this).attr("style"));
发布于 2013-05-31 11:23:53
如果div是隐藏的,你可以得到%。当div被隐藏时,$(选择器).width()返回百分比。
https://stackoverflow.com/questions/10998854
复制