我正在尝试使用以下代码将一个元素的宽度与“ 100%”进行比较。我写了这段代码,但是没有用。元素的宽度为100%
。请指教
if (document.getElementsByClassName("progress-bar")[0].offsetWidth ==="100%") {
clearInterval(r1);
clearInterval(r2);
clearInterval(r3);
}
您的代码正常工作,但是offsetWidth
返回了屏幕上元素的物理像素宽度。由于您使用进行严格的相等比较===
,因此该if()
块永远不会求值为true;offsetWidth
返回一个开始的整数,并且永远不会附加该%
值。
例如,请参见此jsFiddle演示-<input />
的值变为整数。
如果绝对需要宽度作为百分比值,则需要使用HTMLElement.style
属性访问元素的CSS定义,如下所示:
document.getElementsByClassName("progress-bar")[0].style.width;
最终,您的if()
区块将变为:
if( document.getElementsByClassName("progress-bar")[0].style.width == '100%' )
{
clearInterval(r1);
clearInterval(r2);
clearInterval(r3);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句