【发布时间】:2009-05-22 00:59:17
【问题描述】:
此函数中的while语句在IE/firefox中运行太慢(阻止页面加载4-5秒),但在safari中运行速度很快...
它正在测量页面上文本的像素宽度并截断直到文本达到理想宽度:
function constrain(text, ideal_width){
$('.temp_item').html(text);
var item_width = $('span.temp_item').width();
var ideal = parseInt(ideal_width);
var smaller_text = text;
var original = text.length;
while (item_width > ideal) {
smaller_text = smaller_text.substr(0, (smaller_text.length-1));
$('.temp_item').html(smaller_text);
item_width = $('span.temp_item').width();
}
var final_length = smaller_text.length;
if (final_length != original) {
return (smaller_text + '…');
} else {
return text;
}
}
有什么方法可以提高性能?如何将其转换为冒泡排序函数?
谢谢!
【问题讨论】:
-
这不是真正的排序问题,冒泡排序也是你能做的最慢的排序。
标签: javascript jquery