Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 查找使内部文本不被包装的div宽度_Javascript - Fatal编程技术网

Javascript 查找使内部文本不被包装的div宽度

Javascript 查找使内部文本不被包装的div宽度,javascript,Javascript,我用一些javascript构建了一个CRM来根据用户的需要调整列宽,但是我希望有一个按钮来自动调整所有列的宽度。 其思想是检查每个div以验证文本是否被包装,如果是,则增加div宽度(在给定的限制内)或在相反的情况下减少。诸如此类: while(div.contentTextWrapped && parseInt(div.style.width)>50) { div.style.width=parseInt(div.style.width)-5+"px

我用一些javascript构建了一个CRM来根据用户的需要调整列宽,但是我希望有一个按钮来自动调整所有列的宽度。 其思想是检查每个div以验证文本是否被包装,如果是,则增加div宽度(在给定的限制内)或在相反的情况下减少。诸如此类:

while(div.contentTextWrapped && parseInt(div.style.width)>50)
{
     div.style.width=parseInt(div.style.width)-5+"px";
}
while(div.contentTextWrapped && parseInt(div.style.width)<500)
{
     div.style.width=parseInt(div.style.width)+5+"px";
}
while(div.contentTextWrapped&&parseInt(div.style.width)>50)
{
div.style.width=parseInt(div.style.width)-5+“px”;
}

while(div.contentTextWrapped&&parseInt(div.style.width)您可以尝试查找一个字符的宽度。然后获取div的整个文本并计算div的总大小:

const singleCharWidth=3;//在px中
const textLength=div.textContent.length;
div.style.width=`${textLength*singleCharWidth}px`;

如果您想了解有关计算文本宽度的更多信息,可以在此处了解更多信息:

您可以尝试查找一个字符的宽度。然后获取div的整个文本并计算div的总大小:

const singleCharWidth=3;//在px中
const textLength=div.textContent.length;
div.style.width=`${textLength*singleCharWidth}px`;

如果你想阅读更多关于计算文本宽度的内容,你可以在这里阅读更多内容:

我认为你必须计算行数,然后调整对象的宽度。有很多方法可以做到这一点,这里有一种方法:

函数findWidth(obj、minW、maxW){
let line,ref,lineHeight,wdt,dif=10,done=false;
//从myDummy获取行高度
ref=document.getElementById('myDummy')
线高=参考偏视;
如果(线宽==0)返回
//指定要启动的最小宽度
wdt=最小值;
对象样式宽度=wdt+'px';
线=数学圆(目标偏视/线高);
而(行数>1){
//获取当前宽度并增加或指定最大/最小值并退出
wdt=parseInt(对象样式宽度);
如果(wdt+dif>maxW){
wdt=maxW;
完成=正确;

}否则如果(wdt我认为你必须计算行数,然后调整对象的宽度。有很多方法可以做到这一点,这里有一种方法:

函数findWidth(obj、minW、maxW){
let line,ref,lineHeight,wdt,dif=10,done=false;
//从myDummy获取行高度
ref=document.getElementById('myDummy')
线高=参考偏视;
如果(线宽==0)返回
//指定要启动的最小宽度
wdt=最小值;
对象样式宽度=wdt+'px';
线=数学圆(目标偏视/线高);
而(行数>1){
//获取当前宽度并增加或指定最大/最小值并退出
wdt=parseInt(对象样式宽度);
如果(wdt+dif>maxW){
wdt=maxW;
完成=正确;

}else if(WDTW)为什么不使用css flex呢?为什么不使用css flex呢?