Javascript 使用jQuery css()函数更改字体大小会使Chrome崩溃
因此,我有一段代码,在FF和IE8中可以完美工作,但它会破坏Chrome:Javascript 使用jQuery css()函数更改字体大小会使Chrome崩溃,javascript,jquery,css,google-chrome,font-size,Javascript,Jquery,Css,Google Chrome,Font Size,因此,我有一段代码,在FF和IE8中可以完美工作,但它会破坏Chrome: while($('#movie-info .vote').height()>30) { $size = $('#movie-info .vote').css('font-size').replace('px',''); $('#movie-info .vote').css('font-size',($size-0.5)+'px'); } 我猜这是因为chrome不允许字体大小低于某个限制,但当字体
while($('#movie-info .vote').height()>30) {
$size = $('#movie-info .vote').css('font-size').replace('px','');
$('#movie-info .vote').css('font-size',($size-0.5)+'px');
}
我猜这是因为chrome不允许字体大小低于某个限制,但当字体大小达到该限制时,高度仍然>30 我认为你应该避免for循环,而是根据“电影信息.投票”的高度立即重新计算最佳字体大小 使现代化 要使单行行具有隐藏的续行,请使用以下命令:
#movie-info .vote {
line-height: 1.5em;
height: 1.5em;
overflow: hidden;
white-space: nowrap;
}
在这里尝试一下:我偶然发现了这个老问题,寻找一个不同的问题,但我认为我可以对这个问题有所启发,特别是考虑到使用-1而不是-0.5的作品 Chrome和其他基于WebKit的浏览器处理单位舍入的方式不同于Firefox和IE。虽然Firefox尽其所能渲染和报告分数像素大小,IE渲染舍入大小,但仍会准确报告您指定的值,WebKit会对渲染值进行舍入,并在您要求返回时报告舍入值 假设大小从14px开始。运行此代码时:
// $size = 14
$size = $('#movie-info .vote').css('font-size').replace('px','');
// font-size: 13.5px
$('#movie-info .vote').css('font-size',($size-0.5)+'px');
Chrome将您的大小更改舍入,字体大小仍为14px。因此,循环永远不会停止,因为$size永远不会减少
一个简单的解决方案是一次声明$size,而不是询问Chrome它是什么:
// Don't forget to declare with `var` to give $size local scope!
// Otherwise it is declared in global scope which could lead to
// weird bugs or lost performance.
var $size = $('#movie-info .vote').css('font-size').replace('px','');
while ($('#movie-info .vote').height() > 30) {
$size = $size - 0.5;
$('#movie-info .vote').css('font-size', $size + 'px');
}
顺便问一下,你到底想完成什么?给。投票相同的字体大小,使他们所有我试图使内容适合容器在一行,使容器不伸展。默认字体大小为16px,这似乎可以使用。。不明白为什么while循环没有。如果$'movie-info'.height>30{$'movie-info'.css'font-size','13px';}@ulph,我想问题是:你试图设置小字体大小,但chrome不允许,所以高度永远不会低于30px,循环永远不会结束。。如果你想将高度限制在一排,最好使用CSSthanks for your suggestions。。但不知怎么的,我的代码使用的是-1而不是-0.5.Ok,所以这里的问题可能是chrome将字体大小舍入为整数值;无论如何,用CSS而不是JavaScript做这类事情比用JavaScript做要好得多/故障保护/节省资源..idk为什么这样做,但它与-1Define一起工作,可以chrash[sic]Chromethanks@micha。。真奇怪。