如何使用javascript获取元素的宽度?
我试图将一个元素的宽度与下面的代码“100%”进行比较。我写了这段代码,但没有成功。元素的宽度为如何使用javascript获取元素的宽度?,javascript,width,Javascript,Width,我试图将一个元素的宽度与下面的代码“100%”进行比较。我写了这段代码,但没有成功。元素的宽度为100%。请指教 if (document.getElementsByClassName("progress-bar")[0].offsetWidth ==="100%") { clearInterval(r1); clearInterval(r2); clearInterval(r3); } 您的代码工作正常,但offsetWidth返回屏幕上元素的物理像素宽度。由于您正在
100%
。请指教
if (document.getElementsByClassName("progress-bar")[0].offsetWidth ==="100%") {
clearInterval(r1);
clearInterval(r2);
clearInterval(r3);
}
您的代码工作正常,但
offsetWidth
返回屏幕上元素的物理像素宽度。由于您正在使用==
进行严格的相等比较,if()
块never的计算结果为trueoffsetWidth
返回一个整数开始,并且永远不会追加%
值
例如,请参见-
的值变为整数
如果您确实需要将宽度作为百分比值,则需要使用以下属性访问元素的CSS定义:
document.getElementsByClassName("progress-bar")[0].style.width;
最终,您的if()
块将变成:
if( document.getElementsByClassName("progress-bar")[0].style.width == '100%' )
{
clearInterval(r1);
clearInterval(r2);
clearInterval(r3);
}
您的代码工作正常,但
offsetWidth
返回屏幕上元素的物理像素宽度。由于您正在使用==
进行严格的相等比较,if()
块never的计算结果为trueoffsetWidth
返回一个整数开始,并且永远不会追加%
值
例如,请参见-
的值变为整数
如果您确实需要将宽度作为百分比值,则需要使用以下属性访问元素的CSS定义:
document.getElementsByClassName("progress-bar")[0].style.width;
最终,您的if()
块将变成:
if( document.getElementsByClassName("progress-bar")[0].style.width == '100%' )
{
clearInterval(r1);
clearInterval(r2);
clearInterval(r3);
}
哦,对不起。我认为最好的检查方法是检查父元素的宽度是否与此元素相同。我不认为你能百分之百地做到。哦,对不起。我认为最好的检查方法是检查父元素的宽度是否与此元素相同。我不认为你能百分之百地做到这一点string@programmer138200没问题。如果答案对你合适,请接受。@programmer138200没问题。如果答案对你合适,请接受。